diff --git a/design_system_admin/dsfr/component/accordion/accordion.print.css b/design_system_admin/dsfr/component/accordion/accordion.print.css new file mode 100644 index 0000000000000000000000000000000000000000..0daa26bc7f81f1de7b8a769dbbef76e233713b6d --- /dev/null +++ b/design_system_admin/dsfr/component/accordion/accordion.print.css @@ -0,0 +1,27 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-accordion::before { + box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd; + } + + .fr-accordion__btn { + color: #000091; + } + + .fr-accordion__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-accordion__btn::after { + transform: rotate(-180deg); + } + + .fr-accordion .fr-collapse:not(.fr-collapse--expanded) { + --collapse-max-height: none !important; + --collapse: inherit !important; + visibility: visible; + padding: 1rem; + } +} diff --git a/design_system_admin/dsfr/component/accordion/accordion.print.css.map b/design_system_admin/dsfr/component/accordion/accordion.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4b307deffbe022f7b57623556de2ec8fa950a14f --- /dev/null +++ b/design_system_admin/dsfr/component/accordion/accordion.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/accordion/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20G60_Om%3E","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECWE;ICyBE,gDAAA;ECtCF;;ECUE;IF4BA,cAAA;ECnCF;;ECUI;IFyBF,yBAAA;EChCF;;EERA;IACE,0BAAA;EFUF;;EEPA;IACE,sCAAA;IACA,8BAAA;IAEA,mBAAA;ICwBA,aAfE;EHAJ;AACF","file":"accordion.print.css","sourcesContent":[null,"////\n/// Accordion Print\n/// @group accordion\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _accordion-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/accordion/accordion.print.min.css b/design_system_admin/dsfr/component/accordion/accordion.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..43af9e4ee1665120a0c32a1a55fff72ccb5afc9f --- /dev/null +++ b/design_system_admin/dsfr/component/accordion/accordion.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-accordion:before{box-shadow:inset 0 1px 0 0 #ddd,0 1px 0 0 #ddd}.fr-accordion__btn{color:#000091}.fr-accordion__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-accordion__btn:after{transform:rotate(-180deg)}.fr-accordion .fr-collapse:not(.fr-collapse--expanded){--collapse-max-height:none!important;--collapse:inherit!important;padding:1rem;visibility:visible}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/accordion/accordion.print.min.css.map b/design_system_admin/dsfr/component/accordion/accordion.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..cf2569505c910f0539e74dc1fd97e6862ace496f --- /dev/null +++ b/design_system_admin/dsfr/component/accordion/accordion.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/accordion/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20TRVqfM%3E","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCWE,qBCyBE,8CCtCF,CCUE,mBF4BA,aCnCF,CCUI,uCFyBF,wBChCF,CERA,yBACE,yBFUF,CEPA,uDACE,oCAAA,CACA,4BAAA,CC0BA,YAfE,CDTF,kBFSF,CACF","file":"accordion.print.min.css","sourcesContent":[null,"////\n/// Accordion Print\n/// @group accordion\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _accordion-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/alert/alert.print.css b/design_system_admin/dsfr/component/alert/alert.print.css new file mode 100644 index 0000000000000000000000000000000000000000..136084f6aa416792925842afa811f4154173d432 --- /dev/null +++ b/design_system_admin/dsfr/component/alert/alert.print.css @@ -0,0 +1,28 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-alert { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-alert::before { + color: #fff; + } + + .fr-alert--info { + background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-alert--error { + background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-alert--success { + background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c); + } + + .fr-alert--warning { + background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000); + } +} diff --git a/design_system_admin/dsfr/component/alert/alert.print.css.map b/design_system_admin/dsfr/component/alert/alert.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..28c2b97a23e716fadb9aa75b31deb9d2e405b9d9 --- /dev/null +++ b/design_system_admin/dsfr/component/alert/alert.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/alert/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%202Plng-%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,6NAAA;ECtCF;;ECaA;IFyBE,WAAA;ECnCF;;EFSE;IC0BA,6NAAA;EChCF;;EFUE;ICsBA,6NAAA;EC7BF;;EFWE;ICkBA,6NAAA;EC1BF;;EFYE;ICcA,6NAAA;ECvBF;AACF","file":"alert.print.css","sourcesContent":[null,"////\n/// Alert Print\n/// @group alert\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _alert-scheme('print');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/alert/alert.print.min.css b/design_system_admin/dsfr/component/alert/alert.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..cbb92b6557808ea201119b4d329efcc17815fa29 --- /dev/null +++ b/design_system_admin/dsfr/component/alert/alert.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-alert{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-alert:before{color:#fff}.fr-alert--info{background-image:linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb)}.fr-alert--error{background-image:linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500)}.fr-alert--success{background-image:linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c)}.fr-alert--warning{background-image:linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/alert/alert.print.min.css.map b/design_system_admin/dsfr/component/alert/alert.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..56adde1e047215f9ad93411326a7d642ee8f87ff --- /dev/null +++ b/design_system_admin/dsfr/component/alert/alert.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/alert/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%205pcWkh%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,UCiCE,8MCtCF,CCaA,iBFyBE,UCnCF,CFSE,gBC0BA,8MChCF,CFUE,iBCsBA,8MC7BF,CFWE,mBCkBA,8MC1BF,CFYE,mBCcA,8MCvBF,CACF","file":"alert.print.min.css","sourcesContent":[null,"////\n/// Alert Print\n/// @group alert\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _alert-scheme('print');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/badge/badge.print.css b/design_system_admin/dsfr/component/badge/badge.print.css new file mode 100644 index 0000000000000000000000000000000000000000..011db2e8e4381e139ecfd582034b56ac8bf27e53 --- /dev/null +++ b/design_system_admin/dsfr/component/badge/badge.print.css @@ -0,0 +1,119 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-badge { + color: #3a3a3a; + background-color: #eee; + } + + .fr-badge--info { + color: #0063cb; + background-color: #e8edff; + } + + .fr-badge--error { + color: #ce0500; + background-color: #ffe9e9; + } + + .fr-badge--success { + color: #18753c; + background-color: #b8fec9; + } + + .fr-badge--warning { + color: #b34000; + background-color: #ffe9e6; + } + + .fr-badge--new { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--green-tilleul-verveine { + color: #66673d; + background-color: #fceeac; + } + + .fr-badge--green-bourgeon { + color: #447049; + background-color: #c9fcac; + } + + .fr-badge--green-emeraude { + color: #297254; + background-color: #c3fad5; + } + + .fr-badge--green-menthe { + color: #37635f; + background-color: #bafaee; + } + + .fr-badge--green-archipel { + color: #006a6f; + background-color: #c7f6fc; + } + + .fr-badge--blue-ecume { + color: #2f4077; + background-color: #e9edfe; + } + + .fr-badge--blue-cumulus { + color: #3558a2; + background-color: #e6eefe; + } + + .fr-badge--purple-glycine { + color: #6e445a; + background-color: #fee7fc; + } + + .fr-badge--pink-macaron { + color: #8d533e; + background-color: #fee9e6; + } + + .fr-badge--pink-tuile { + color: #a94645; + background-color: #fee9e7; + } + + .fr-badge--yellow-tournesol { + color: #716043; + background-color: #feecc2; + } + + .fr-badge--yellow-moutarde { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--orange-terre-battue { + color: #755348; + background-color: #fee9e5; + } + + .fr-badge--brown-cafe-creme { + color: #685c48; + background-color: #f7ecdb; + } + + .fr-badge--brown-caramel { + color: #845d48; + background-color: #f7ebe5; + } + + .fr-badge--brown-opera { + color: #745b47; + background-color: #f7ece4; + } + + .fr-badge--beige-gris-galet { + color: #6a6156; + background-color: #f3ede5; + } +} diff --git a/design_system_admin/dsfr/component/badge/badge.print.css.map b/design_system_admin/dsfr/component/badge/badge.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..9bfc20b69a1317b60135d813795c62cecbf28dfa --- /dev/null +++ b/design_system_admin/dsfr/component/badge/badge.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/badge/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20BiIf6k%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,cAAA;IAAA,sBAAA;ECrCF;;EFQE;IC6BA,cAAA;IAAA,yBAAA;ECjCF;;EFSE;ICwBA,cAAA;IAAA,yBAAA;EC7BF;;EFUE;ICmBA,cAAA;IAAA,yBAAA;ECzBF;;EFWE;ICcA,cAAA;IAAA,yBAAA;ECrBF;;EFYE;ICSA,cAAA;IAAA,yBAAA;ECjBF;;ECdI;IF+BF,cAAA;IAAA,yBAAA;ECbF;;EClBI;IF+BF,cAAA;IAAA,yBAAA;ECTF;;ECtBI;IF+BF,cAAA;IAAA,yBAAA;ECLF;;EC1BI;IF+BF,cAAA;IAAA,yBAAA;ECDF;;EC9BI;IF+BF,cAAA;IAAA,yBAAA;ECGF;;EClCI;IF+BF,cAAA;IAAA,yBAAA;ECOF;;ECtCI;IF+BF,cAAA;IAAA,yBAAA;ECWF;;EC1CI;IF+BF,cAAA;IAAA,yBAAA;ECeF;;EC9CI;IF+BF,cAAA;IAAA,yBAAA;ECmBF;;EClDI;IF+BF,cAAA;IAAA,yBAAA;ECuBF;;ECtDI;IF+BF,cAAA;IAAA,yBAAA;EC2BF;;EC1DI;IF+BF,cAAA;IAAA,yBAAA;EC+BF;;EC9DI;IF+BF,cAAA;IAAA,yBAAA;ECmCF;;EClEI;IF+BF,cAAA;IAAA,yBAAA;ECuCF;;ECtEI;IF+BF,cAAA;IAAA,yBAAA;EC2CF;;EC1EI;IF+BF,cAAA;IAAA,yBAAA;EC+CF;;EC9EI;IF+BF,cAAA;IAAA,yBAAA;ECmDF;AACF","file":"badge.print.css","sourcesContent":[null,"////\n/// Badge Print\n/// @group badge\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _badge-scheme('print');\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/badge/badge.print.min.css b/design_system_admin/dsfr/component/badge/badge.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..644980b888eeb81626f43f0a1419ef9cb443bcae --- /dev/null +++ b/design_system_admin/dsfr/component/badge/badge.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-badge{background-color:#eee;color:#3a3a3a}.fr-badge--info{background-color:#e8edff;color:#0063cb}.fr-badge--error{background-color:#ffe9e9;color:#ce0500}.fr-badge--success{background-color:#b8fec9;color:#18753c}.fr-badge--warning{background-color:#ffe9e6;color:#b34000}.fr-badge--new{background-color:#feebd0;color:#695240}.fr-badge--green-tilleul-verveine{background-color:#fceeac;color:#66673d}.fr-badge--green-bourgeon{background-color:#c9fcac;color:#447049}.fr-badge--green-emeraude{background-color:#c3fad5;color:#297254}.fr-badge--green-menthe{background-color:#bafaee;color:#37635f}.fr-badge--green-archipel{background-color:#c7f6fc;color:#006a6f}.fr-badge--blue-ecume{background-color:#e9edfe;color:#2f4077}.fr-badge--blue-cumulus{background-color:#e6eefe;color:#3558a2}.fr-badge--purple-glycine{background-color:#fee7fc;color:#6e445a}.fr-badge--pink-macaron{background-color:#fee9e6;color:#8d533e}.fr-badge--pink-tuile{background-color:#fee9e7;color:#a94645}.fr-badge--yellow-tournesol{background-color:#feecc2;color:#716043}.fr-badge--yellow-moutarde{background-color:#feebd0;color:#695240}.fr-badge--orange-terre-battue{background-color:#fee9e5;color:#755348}.fr-badge--brown-cafe-creme{background-color:#f7ecdb;color:#685c48}.fr-badge--brown-caramel{background-color:#f7ebe5;color:#845d48}.fr-badge--brown-opera{background-color:#f7ece4;color:#745b47}.fr-badge--beige-gris-galet{background-color:#f3ede5;color:#6a6156}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/badge/badge.print.min.css.map b/design_system_admin/dsfr/component/badge/badge.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..9ce115c7b68ff7f1a7b2e8c57205a852e72b9e67 --- /dev/null +++ b/design_system_admin/dsfr/component/badge/badge.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/badge/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%202srfJa%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,UCiCE,qBAAA,CAAA,aCrCF,CFQE,gBC6BA,wBAAA,CAAA,aCjCF,CFSE,iBCwBA,wBAAA,CAAA,aC7BF,CFUE,mBCmBA,wBAAA,CAAA,aCzBF,CFWE,mBCcA,wBAAA,CAAA,aCrBF,CFYE,eCSA,wBAAA,CAAA,aCjBF,CCdI,kCF+BF,wBAAA,CAAA,aCbF,CClBI,0BF+BF,wBAAA,CAAA,aCTF,CCtBI,0BF+BF,wBAAA,CAAA,aCLF,CC1BI,wBF+BF,wBAAA,CAAA,aCDF,CC9BI,0BF+BF,wBAAA,CAAA,aCGF,CClCI,sBF+BF,wBAAA,CAAA,aCOF,CCtCI,wBF+BF,wBAAA,CAAA,aCWF,CC1CI,0BF+BF,wBAAA,CAAA,aCeF,CC9CI,wBF+BF,wBAAA,CAAA,aCmBF,CClDI,sBF+BF,wBAAA,CAAA,aCuBF,CCtDI,4BF+BF,wBAAA,CAAA,aC2BF,CC1DI,2BF+BF,wBAAA,CAAA,aC+BF,CC9DI,+BF+BF,wBAAA,CAAA,aCmCF,CClEI,4BF+BF,wBAAA,CAAA,aCuCF,CCtEI,yBF+BF,wBAAA,CAAA,aC2CF,CC1EI,uBF+BF,wBAAA,CAAA,aC+CF,CC9EI,4BF+BF,wBAAA,CAAA,aCmDF,CACF","file":"badge.print.min.css","sourcesContent":[null,"////\n/// Badge Print\n/// @group badge\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _badge-scheme('print');\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css new file mode 100644 index 0000000000000000000000000000000000000000..f64ef37c6292747611dae6edfee9b9f71532ecae --- /dev/null +++ b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css @@ -0,0 +1,13 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-breadcrumb { + color: #666; + display: none; + } + + .fr-breadcrumb__link[aria-current]:not([aria-current=false]) { + color: #3a3a3a; + } +} diff --git a/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css.map b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..fcad94d6d9a6f3e453ef13a0749f3b7ec8d49180 --- /dev/null +++ b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","%3Cinput%20css%20JqIhJZ%3E","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,WAAA;ICxCF,aAAA;ECEA;;ECCA;IHqCE,cAAA;EEnCF;AAIF","file":"breadcrumb.print.css","sourcesContent":[null,"////\n/// Breadcrumb Print\n/// @group breadcrumb\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _breadcrumb-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..3aea79927acab47080477b1d136e335d31bfb128 --- /dev/null +++ b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-breadcrumb{color:#666;display:none}.fr-breadcrumb__link[aria-current]:not([aria-current=false]){color:#3a3a3a}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css.map b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..bff5ac3ea16c6ba0037d4a6166d326a3b89f3d62 --- /dev/null +++ b/design_system_admin/dsfr/component/breadcrumb/breadcrumb.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","%3Cinput%20css%20IUXJ9J%3E","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,eCgCE,UAAA,CCxCF,YCEA,CCCA,6DHqCE,aEnCF,CAIF","file":"breadcrumb.print.min.css","sourcesContent":[null,"////\n/// Breadcrumb Print\n/// @group breadcrumb\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _breadcrumb-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/button/button.print.css b/design_system_admin/dsfr/component/button/button.print.css new file mode 100644 index 0000000000000000000000000000000000000000..674512d1c7d8e25e2191fc90a3e007ab00eaedf9 --- /dev/null +++ b/design_system_admin/dsfr/component/button/button.print.css @@ -0,0 +1,230 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-btn { + background-color: #000091; + color: #f5f5fe; + } + + .fr-btn:hover { + background-color: #1212ff; + } + + .fr-btn:active { + background-color: #2323ff; + } + + .fr-btn:disabled, + a.fr-btn:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-btn--secondary { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary, + .fr-btn--account { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + color: #000091; + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + color: #929292; + } + + .fr-btn--secondary, + .fr-btn--tertiary, + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip { + background-color: transparent; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-btn--secondary { + background-color: transparent; + } + + .fr-btn--secondary:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + background-color: transparent; + } + + .fr-btn--secondary:disabled:hover, + a.fr-btn--secondary:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:disabled:active, + a.fr-btn--secondary:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary, + .fr-btn--account { + background-color: transparent; + } + + .fr-btn--tertiary:hover, + .fr-btn--account:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:active, + .fr-btn--account:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + background-color: transparent; + } + + .fr-btn--tertiary:disabled:hover, + a.fr-btn--tertiary:not([href]):hover, + a.fr-btn--account:not([href]):hover, + .fr-btn--account:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:disabled:active, + a.fr-btn--tertiary:not([href]):active, + a.fr-btn--account:not([href]):active, + .fr-btn--account:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:hover, + .fr-btn--close:hover, + .fr-btn--display:hover, + .fr-btn--fullscreen:hover, + .fr-btn--tooltip:hover, + .fr-btn--briefcase:hover, + .fr-btn--team:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:active, + .fr-btn--close:active, + .fr-btn--display:active, + .fr-btn--fullscreen:active, + .fr-btn--tooltip:active, + .fr-btn--briefcase:active, + .fr-btn--team:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:disabled:hover, + a.fr-btn--tertiary-no-outline:not([href]):hover, + a.fr-btn--close:not([href]):hover, + a.fr-btn--display:not([href]):hover, + a.fr-btn--fullscreen:not([href]):hover, + a.fr-btn--tooltip:not([href]):hover, + a.fr-btn--briefcase:not([href]):hover, + a.fr-btn--team:not([href]):hover, + .fr-btn--close:disabled:hover, + .fr-btn--display:disabled:hover, + .fr-btn--fullscreen:disabled:hover, + .fr-btn--tooltip:disabled:hover, + .fr-btn--briefcase:disabled:hover, + .fr-btn--team:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:disabled:active, + a.fr-btn--tertiary-no-outline:not([href]):active, + a.fr-btn--close:not([href]):active, + a.fr-btn--display:not([href]):active, + a.fr-btn--fullscreen:not([href]):active, + a.fr-btn--tooltip:not([href]):active, + a.fr-btn--briefcase:not([href]):active, + a.fr-btn--team:not([href]):active, + .fr-btn--close:disabled:active, + .fr-btn--display:disabled:active, + .fr-btn--fullscreen:disabled:active, + .fr-btn--tooltip:disabled:active, + .fr-btn--briefcase:disabled:active, + .fr-btn--team:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } +} diff --git a/design_system_admin/dsfr/component/button/button.print.css.map b/design_system_admin/dsfr/component/button/button.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..64d951801294f389a8a9f8494e26915afebb5589 --- /dev/null +++ b/design_system_admin/dsfr/component/button/button.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/button/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20ojdW3Z%3E","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,yBAAA;IAAA,cAAA;ECrCF;;ECFE;IFuFA,yBAAA;EClFF;;ECLE;IFuFA,yBAAA;EC/EF;;EESS;;IHsBP,cAAA;IAAA,yBAAA;EC3BF;;EFEE;ICyBA,cAAA;IAAA,mCAAA;ECvBF;;EECS;;IHsBP,cAAA;IAAA,mCAAA;ECNF;;EFdE;;ICoBA,cAAA;IAAA,gCAAA;ECWF;;EEjCS;;;;IHsBP,cAAA;IAAA,mCAAA;EC4BF;;EF1CE;;;;;;;ICcA,cAAA;EC4CF;;EElES;;;;;;;;;;;;;;IHsBP,cAAA;EC4DF;;EGpGA;;;;;;;IAOE,6BAAA;EH6GF;AAlGF;AIVI;ENOA;ICwGE,6BAAA;ECjGJ;;EDoGM;IACE,qCAAA;EClGR;;EDqGM;IACE,oCAAA;ECnGR;;EEVS;;IHqGL,6BAAA;EChFJ;;EDmFM;;IACE,qCAAA;ECjFR;;EDoFM;;IACE,oCAAA;EClFR;;EFzBE;;ICmGE,6BAAA;EC/DJ;;EDkEM;;IACE,qCAAA;EChER;;EDmEM;;IACE,oCAAA;ECjER;;EE5CS;;;;IHqGL,6BAAA;EC9CJ;;EDiDM;;;;IACE,qCAAA;EC/CR;;EDkDM;;;;IACE,oCAAA;EChDR;;EFrDE;;;;;;;IC6FE,6BAAA;EC9BJ;;EDiCM;;;;;;;IACE,qCAAA;EC/BR;;EDkCM;;;;;;;IACE,oCAAA;EChCR;;EE7ES;;;;;;;;;;;;;;IHqGL,6BAAA;ECdJ;;EDiBM;;;;;;;;;;;;;;IACE,qCAAA;ECfR;;EDkBM;;;;;;;;;;;;;;IACE,oCAAA;EChBR;AAlFF","file":"button.print.css","sourcesContent":[null,"////\n/// Button Print\n/// @group button\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _button-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/button/button.print.min.css b/design_system_admin/dsfr/component/button/button.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..bf6b5f08863488343383788677a9bf0e8be3c336 --- /dev/null +++ b/design_system_admin/dsfr/component/button/button.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-btn{background-color:#000091;color:#f5f5fe}.fr-btn:hover{background-color:#1212ff}.fr-btn:active{background-color:#2323ff}.fr-btn:disabled,a.fr-btn:not([href]){background-color:#e5e5e5;color:#929292}.fr-btn--secondary{box-shadow:inset 0 0 0 1px #000091;color:#000091}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--account,.fr-btn--tertiary{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{color:#000091}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){color:#929292}.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--secondary,.fr-btn--tertiary,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-btn--secondary{background-color:transparent}.fr-btn--secondary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:active{background-color:rgba(0,0,0,.1)}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){background-color:transparent}.fr-btn--secondary:disabled:hover,a.fr-btn--secondary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:disabled:active,a.fr-btn--secondary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--account,.fr-btn--tertiary{background-color:transparent}.fr-btn--account:hover,.fr-btn--tertiary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:active,.fr-btn--tertiary:active{background-color:rgba(0,0,0,.1)}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){background-color:transparent}.fr-btn--account:disabled:hover,.fr-btn--tertiary:disabled:hover,a.fr-btn--account:not([href]):hover,a.fr-btn--tertiary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:disabled:active,.fr-btn--tertiary:disabled:active,a.fr-btn--account:not([href]):active,a.fr-btn--tertiary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}.fr-btn--briefcase:hover,.fr-btn--close:hover,.fr-btn--display:hover,.fr-btn--fullscreen:hover,.fr-btn--team:hover,.fr-btn--tertiary-no-outline:hover,.fr-btn--tooltip:hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:active,.fr-btn--close:active,.fr-btn--display:active,.fr-btn--fullscreen:active,.fr-btn--team:active,.fr-btn--tertiary-no-outline:active,.fr-btn--tooltip:active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){background-color:transparent}.fr-btn--briefcase:disabled:hover,.fr-btn--close:disabled:hover,.fr-btn--display:disabled:hover,.fr-btn--fullscreen:disabled:hover,.fr-btn--team:disabled:hover,.fr-btn--tertiary-no-outline:disabled:hover,.fr-btn--tooltip:disabled:hover,a.fr-btn--briefcase:not([href]):hover,a.fr-btn--close:not([href]):hover,a.fr-btn--display:not([href]):hover,a.fr-btn--fullscreen:not([href]):hover,a.fr-btn--team:not([href]):hover,a.fr-btn--tertiary-no-outline:not([href]):hover,a.fr-btn--tooltip:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:disabled:active,.fr-btn--close:disabled:active,.fr-btn--display:disabled:active,.fr-btn--fullscreen:disabled:active,.fr-btn--team:disabled:active,.fr-btn--tertiary-no-outline:disabled:active,.fr-btn--tooltip:disabled:active,a.fr-btn--briefcase:not([href]):active,a.fr-btn--close:not([href]):active,a.fr-btn--display:not([href]):active,a.fr-btn--fullscreen:not([href]):active,a.fr-btn--team:not([href]):active,a.fr-btn--tertiary-no-outline:not([href]):active,a.fr-btn--tooltip:not([href]):active{background-color:rgba(0,0,0,.1)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/button/button.print.min.css.map b/design_system_admin/dsfr/component/button/button.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..40e5e4102cc32939d62c5bae375e85a2abafd353 --- /dev/null +++ b/design_system_admin/dsfr/component/button/button.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/button/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20-Bmd8E%3E","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,QCgCE,wBAAA,CAAA,aCrCF,CCFE,cFuFA,wBClFF,CCLE,eFuFA,wBC/EF,CESS,sCHsBP,wBAAA,CAAA,aC3BF,CFEE,mBCyBA,kCAAA,CAAA,aCvBF,CECS,4DHsBP,kCAAA,CAAA,aCNF,CFdE,mCCoBA,+BAAA,CAAA,aCWF,CEjCS,kHHsBP,kCAAA,CAAA,aC4BF,CF1CE,mICcA,aC4CF,CElES,gaHsBP,aC4DF,CGpGA,uIAOE,4BH6GF,CAlGF,CIVI,+ENOA,mBCwGE,4BCjGJ,CDoGM,yBACE,gCClGR,CDqGM,0BACE,+BCnGR,CEVS,4DHqGL,4BChFJ,CDmFM,wEACE,gCCjFR,CDoFM,0EACE,+BClFR,CFzBE,mCCmGE,4BC/DJ,CDkEM,+CACE,gCChER,CDmEM,iDACE,+BCjER,CE5CS,kHHqGL,4BC9CJ,CDiDM,0IACE,gCC/CR,CDkDM,8IACE,+BChDR,CFrDE,mIC6FE,4BC9BJ,CDiCM,6KACE,gCC/BR,CDkCM,oLACE,+BChCR,CE7ES,gaHqGL,4BCdJ,CDiBM,ofACE,gCCfR,CDkBM,kgBACE,+BChBR,CAlFF","file":"button.print.min.css","sourcesContent":[null,"////\n/// Button Print\n/// @group button\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _button-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/callout/callout.print.css b/design_system_admin/dsfr/component/callout/callout.print.css new file mode 100644 index 0000000000000000000000000000000000000000..2ec6be57cfcf414d32027928df125ef34c6c7713 --- /dev/null +++ b/design_system_admin/dsfr/component/callout/callout.print.css @@ -0,0 +1,102 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-callout { + background-color: #eee; + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-callout::before { + color: #161616; + } + + .fr-callout__title { + color: #161616; + } + + .fr-callout--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + background-color: #fceeac; + } + + .fr-callout--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + background-color: #c9fcac; + } + + .fr-callout--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + background-color: #c3fad5; + } + + .fr-callout--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + background-color: #bafaee; + } + + .fr-callout--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + background-color: #c7f6fc; + } + + .fr-callout--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + background-color: #e9edfe; + } + + .fr-callout--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + background-color: #e6eefe; + } + + .fr-callout--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + background-color: #fee7fc; + } + + .fr-callout--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + background-color: #fee9e6; + } + + .fr-callout--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + background-color: #fee9e7; + } + + .fr-callout--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + background-color: #feecc2; + } + + .fr-callout--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + background-color: #feebd0; + } + + .fr-callout--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + background-color: #fee9e5; + } + + .fr-callout--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + background-color: #f7ecdb; + } + + .fr-callout--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + background-color: #f7ebe5; + } + + .fr-callout--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + background-color: #f7ece4; + } + + .fr-callout--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + background-color: #f3ede5; + } +} diff --git a/design_system_admin/dsfr/component/callout/callout.print.css.map b/design_system_admin/dsfr/component/callout/callout.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..063ab070a2b9e8fe5db68234942f27509ed231a9 --- /dev/null +++ b/design_system_admin/dsfr/component/callout/callout.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/callout/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20l9LkM4%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,sBAAA;IAAA,yDAAA;ECrCF;;ECYA;IFyBE,cAAA;EClCF;;EEDA;IHmCE,cAAA;EC/BF;;EGAI;IJ+BF,yDAAA;IAAA,yBAAA;EC3BF;;EGJI;IJ+BF,yDAAA;IAAA,yBAAA;ECvBF;;EGRI;IJ+BF,yDAAA;IAAA,yBAAA;ECnBF;;EGZI;IJ+BF,yDAAA;IAAA,yBAAA;ECfF;;EGhBI;IJ+BF,yDAAA;IAAA,yBAAA;ECXF;;EGpBI;IJ+BF,yDAAA;IAAA,yBAAA;ECPF;;EGxBI;IJ+BF,yDAAA;IAAA,yBAAA;ECHF;;EG5BI;IJ+BF,yDAAA;IAAA,yBAAA;ECCF;;EGhCI;IJ+BF,yDAAA;IAAA,yBAAA;ECKF;;EGpCI;IJ+BF,yDAAA;IAAA,yBAAA;ECSF;;EGxCI;IJ+BF,yDAAA;IAAA,yBAAA;ECaF;;EG5CI;IJ+BF,yDAAA;IAAA,yBAAA;ECiBF;;EGhDI;IJ+BF,yDAAA;IAAA,yBAAA;ECqBF;;EGpDI;IJ+BF,yDAAA;IAAA,yBAAA;ECyBF;;EGxDI;IJ+BF,yDAAA;IAAA,yBAAA;EC6BF;;EG5DI;IJ+BF,yDAAA;IAAA,yBAAA;ECiCF;;EGhEI;IJ+BF,yDAAA;IAAA,yBAAA;ECqCF;AACF","file":"callout.print.css","sourcesContent":[null,"////\n/// Callout Print\n/// @group callout\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _callout-scheme('print');\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/callout/callout.print.min.css b/design_system_admin/dsfr/component/callout/callout.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..c24f906b7935d1e97e5bca17357b4bc8daeffb9e --- /dev/null +++ b/design_system_admin/dsfr/component/callout/callout.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-callout{background-color:#eee;background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-callout:before,.fr-callout__title{color:#161616}.fr-callout--green-tilleul-verveine{background-color:#fceeac;background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-callout--green-bourgeon{background-color:#c9fcac;background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-callout--green-emeraude{background-color:#c3fad5;background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-callout--green-menthe{background-color:#bafaee;background-image:linear-gradient(0deg,#009081,#009081)}.fr-callout--green-archipel{background-color:#c7f6fc;background-image:linear-gradient(0deg,#009099,#009099)}.fr-callout--blue-ecume{background-color:#e9edfe;background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-callout--blue-cumulus{background-color:#e6eefe;background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-callout--purple-glycine{background-color:#fee7fc;background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-callout--pink-macaron{background-color:#fee9e6;background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-callout--pink-tuile{background-color:#fee9e7;background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-callout--yellow-tournesol{background-color:#feecc2;background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-callout--yellow-moutarde{background-color:#feebd0;background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-callout--orange-terre-battue{background-color:#fee9e5;background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-callout--brown-cafe-creme{background-color:#f7ecdb;background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-callout--brown-caramel{background-color:#f7ebe5;background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-callout--brown-opera{background-color:#f7ece4;background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-callout--beige-gris-galet{background-color:#f3ede5;background-image:linear-gradient(0deg,#aea397,#aea397)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/callout/callout.print.min.css.map b/design_system_admin/dsfr/component/callout/callout.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..6760e657584c264eca6cc22c40ebb3875c65e4b8 --- /dev/null +++ b/design_system_admin/dsfr/component/callout/callout.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/callout/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20igmgE9%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,YCiCE,qBAAA,CAAA,sDCrCF,CCEA,sCFmCE,aC/BF,CEAI,oCH+BF,wBAAA,CAAA,sDC3BF,CEJI,4BH+BF,wBAAA,CAAA,sDCvBF,CERI,4BH+BF,wBAAA,CAAA,sDCnBF,CEZI,0BH+BF,wBAAA,CAAA,sDCfF,CEhBI,4BH+BF,wBAAA,CAAA,sDCXF,CEpBI,wBH+BF,wBAAA,CAAA,sDCPF,CExBI,0BH+BF,wBAAA,CAAA,sDCHF,CE5BI,4BH+BF,wBAAA,CAAA,sDCCF,CEhCI,0BH+BF,wBAAA,CAAA,sDCKF,CEpCI,wBH+BF,wBAAA,CAAA,sDCSF,CExCI,8BH+BF,wBAAA,CAAA,sDCaF,CE5CI,6BH+BF,wBAAA,CAAA,sDCiBF,CEhDI,iCH+BF,wBAAA,CAAA,sDCqBF,CEpDI,8BH+BF,wBAAA,CAAA,sDCyBF,CExDI,2BH+BF,wBAAA,CAAA,sDC6BF,CE5DI,yBH+BF,wBAAA,CAAA,sDCiCF,CEhEI,8BH+BF,wBAAA,CAAA,sDCqCF,CACF","file":"callout.print.min.css","sourcesContent":[null,"////\n/// Callout Print\n/// @group callout\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _callout-scheme('print');\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/card/card.print.css b/design_system_admin/dsfr/component/card/card.print.css new file mode 100644 index 0000000000000000000000000000000000000000..dec5a5380b5045a26f173d1f0d2d259797d1334a --- /dev/null +++ b/design_system_admin/dsfr/component/card/card.print.css @@ -0,0 +1,70 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-card { + background-color: #fff; + } + + .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-card--grey { + background-color: #eee; + } + + .fr-card--shadow { + background-color: #fff; + } + + .fr-card--shadow.fr-card--grey { + background-color: #eee; + } + + .fr-card--download:not(.fr-card--no-background) .fr-card__header { + background-color: #f6f6f6; + } + + .fr-card__detail { + color: #666; + line-height: 1rem !important; + } + + .fr-card__title { + color: #161616; + } + + .fr-card__title a[href] { + color: #000091; + } + + .fr-card__title:disabled, + a.fr-card__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-card__detail, + .fr-card__desc { + font-size: 1rem; + line-height: 1.5rem; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-card--shadow { + z-index: 500; + } + + .fr-card--no-background { + background-color: transparent; + } + + .fr-card--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-card--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } +} diff --git a/design_system_admin/dsfr/component/card/card.print.css.map b/design_system_admin/dsfr/component/card/card.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..ca1f1605384ec110f23230d2760874b993c1f9ad --- /dev/null +++ b/design_system_admin/dsfr/component/card/card.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/card/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20xad3se%3E","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKE;IC+BE,sBAAA;ECtCF;;EFUE;IC4BA,4JAAA;ECnCF;;EFWE;ICwBA,sBAAA;EChCF;;EFYE;ICoBA,sBAAA;EC7BF;;EFaE;ICgBA,sBAAA;ECnBF;;EFYI;ICOF,yBAAA;ECHF;;EFCE;ICEA,WAAA;IElCA,4BAAA;EDoCF;;EFAE;ICFA,cAAA;ECOF;;EFFI;ICLF,cAAA;ECUF;;EEhCS;;IHsBP,cAAA;IAAA,yBAAA;ECcF;;ECtDA;;IEyBA,eAAA;IAGE,mBAAA;EHgCF;AAhDF;AIJI;ENYA;IOZI,YAAA;ELQN;;EFYE;IC2FE,6BAAA;EC7FJ;;EDgGM;IACE,qCAAA;EC9FR;;EDiGM;IACE,oCAAA;EC/FR;AAfF","file":"card.print.css","sourcesContent":[null,"////\n/// Card Print\n/// @group card\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _card-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/card/card.print.min.css b/design_system_admin/dsfr/component/card/card.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..42d0a9818879865942654a7daf7ce46f96836914 --- /dev/null +++ b/design_system_admin/dsfr/component/card/card.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-card{background-color:#fff}.fr-card:not(.fr-card--no-border):not(.fr-card--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-card--grey{background-color:#eee}.fr-card--shadow{background-color:#fff}.fr-card--shadow.fr-card--grey{background-color:#eee}.fr-card--download:not(.fr-card--no-background) .fr-card__header{background-color:#f6f6f6}.fr-card__detail{color:#666;line-height:1rem!important}.fr-card__title{color:#161616}.fr-card__title a[href]{color:#000091}.fr-card__title:disabled,a.fr-card__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-card__desc,.fr-card__detail{font-size:1rem;line-height:1.5rem}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-card--shadow{z-index:500}.fr-card--no-background{background-color:transparent}.fr-card--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-card--no-background:active{background-color:rgba(0,0,0,.1)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/card/card.print.min.css.map b/design_system_admin/dsfr/component/card/card.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..20e0522db3835283c5d34e3a5a070407f7748db5 --- /dev/null +++ b/design_system_admin/dsfr/component/card/card.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/card/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20mo58Q7%3E","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKE,SC+BE,qBCtCF,CFUE,wDC4BA,gJCnCF,CFWE,eCwBA,qBChCF,CFYE,iBCoBA,qBC7BF,CFaE,+BCgBA,qBCnBF,CFYI,iECOF,wBCHF,CFCE,iBCEA,UAAA,CElCA,0BDoCF,CFAE,gBCFA,aCOF,CFFI,wBCLF,aCUF,CEhCS,sDHsBP,wBAAA,CAAA,aCcF,CCtDA,gCEyBA,cAAA,CAGE,kBHgCF,CAhDF,CIJI,+ENYA,iBOZI,WLQN,CFYE,wBC2FE,4BC7FJ,CDgGM,8BACE,gCC9FR,CDiGM,+BACE,+BC/FR,CAfF","file":"card.print.min.css","sourcesContent":[null,"////\n/// Card Print\n/// @group card\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _card-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/checkbox/checkbox.print.css b/design_system_admin/dsfr/component/checkbox/checkbox.print.css new file mode 100644 index 0000000000000000000000000000000000000000..7074f5f991329542101d464ac2e9b7bb819caf34 --- /dev/null +++ b/design_system_admin/dsfr/component/checkbox/checkbox.print.css @@ -0,0 +1,69 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:checked + label::before { + background-color: var(--background-active-blue-france); + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group input[type=checkbox]:disabled + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + background-color: var(--background-disabled-grey); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group--error input[type=checkbox] + label, + .fr-checkbox-group--error input[type=checkbox]:checked + label { + color: #ce0500; + } + + .fr-checkbox-group--error input[type=checkbox] + label::before, + .fr-checkbox-group--error input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-checkbox-group--error::before { + background-color: #ce0500; + } + + .fr-checkbox-group--valid input[type=checkbox] + label, + .fr-checkbox-group--valid input[type=checkbox]:checked + label { + color: #18753c; + } + + .fr-checkbox-group--valid input[type=checkbox] + label::before, + .fr-checkbox-group--valid input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } + + .fr-checkbox-group--valid::before { + background-color: #18753c; + } + + .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } +} diff --git a/design_system_admin/dsfr/component/checkbox/checkbox.print.css.map b/design_system_admin/dsfr/component/checkbox/checkbox.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..452b05fa96a67cc87554939f3e2d0f3adc639c17 --- /dev/null +++ b/design_system_admin/dsfr/component/checkbox/checkbox.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%206Qc3_F%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECWE;ICyBE,yiCAAA;ECtCF;;EFaA;ICyBE,sDAAA;IAAA,y9BAAA;;IENA,4MAAA;ED3BF;;EENE;IDwCE,4MAAA;ED/BJ;;EFKA;ICyBE,y8BAAA;EC3BF;;EFEA;ICyBE,iDAAA;;IENA,4MAAA;EDjBF;;EEhBE;IDwCE,yMAAA;EDrBJ;;EG6BM;;IJTJ,cAAA;EChBF;;EFTA;;ICyBE,y2BAAA;ECZF;;EFbA;ICyBE,yBAAA;ECTF;;EGmCM;;IJ1BJ,cAAA;ECLF;;EFpBA;;ICyBE,y4BAAA;ECDF;;EFxBA;ICyBE,yBAAA;ECEF;;EF3BA;ICyBE,y2BAAA;ECKF;;EF9BA;ICyBE,y4BAAA;ECQF;AACF","file":"checkbox.print.css","sourcesContent":[null,"////\n/// Checkbox Print\n/// @group checkbox\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _checkbox-scheme('print');\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css b/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0c51eb6776a460e07abced22be224acb7c4f44bc --- /dev/null +++ b/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5f5fe' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-active-blue-france);background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),var(--data-uri-svg)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group input[type=checkbox]:disabled+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-disabled-grey)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group--error input[type=checkbox]+label,.fr-checkbox-group--error input[type=checkbox]:checked+label{color:#ce0500}.fr-checkbox-group--error input[type=checkbox]+label:before,.fr-checkbox-group--error input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-checkbox-group--error:before{background-color:#ce0500}.fr-checkbox-group--valid input[type=checkbox]+label,.fr-checkbox-group--valid input[type=checkbox]:checked+label{color:#18753c}.fr-checkbox-group--valid input[type=checkbox]+label:before,.fr-checkbox-group--valid input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}.fr-checkbox-group--valid:before{background-color:#18753c}.fr-fieldset--error .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-fieldset--valid .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css.map b/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..f711df4aadce682a72a9201abb3a6979236abc7e --- /dev/null +++ b/design_system_admin/dsfr/component/checkbox/checkbox.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20utZkiq%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCWE,qDCyBE,4gCCtCF,CFaA,6DGmBE,uNAAA,CFMA,qDAAA,CAAA,47BCjCF,CENE,uFDwCE,uND/BJ,CFKA,8DCyBE,46BC3BF,CFEA,sEGmBE,uNAAA,CFMA,gDCvBF,CEhBE,gGDwCE,oNDrBJ,CG6BM,kHJTJ,aChBF,CFTA,gICyBE,40BCZF,CFbA,iCCyBE,wBCTF,CGmCM,kHJ1BJ,aCLF,CFpBA,gICyBE,42BCDF,CFxBA,iCCyBE,wBCEF,CF3BA,yECyBE,40BCKF,CF9BA,yECyBE,42BCQF,CACF","file":"checkbox.print.min.css","sourcesContent":[null,"////\n/// Checkbox Print\n/// @group checkbox\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _checkbox-scheme('print');\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/component.print.css b/design_system_admin/dsfr/component/component.print.css new file mode 100644 index 0000000000000000000000000000000000000000..c4a66c9eca2db8242d8fb15258ae7ef87658f181 --- /dev/null +++ b/design_system_admin/dsfr/component/component.print.css @@ -0,0 +1,3132 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; +@media print { + .fr-upload { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-accordion::before { + box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd; + } + + .fr-accordion__btn { + color: #000091; + } + + .fr-accordion__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-accordion__btn::after { + transform: rotate(-180deg); + } + + .fr-accordion .fr-collapse:not(.fr-collapse--expanded) { + --collapse-max-height: none !important; + --collapse: inherit !important; + visibility: visible; + padding: 1rem; + } + + .fr-badge { + color: #3a3a3a; + background-color: #eee; + } + + .fr-badge--info { + color: #0063cb; + background-color: #e8edff; + } + + .fr-badge--error { + color: #ce0500; + background-color: #ffe9e9; + } + + .fr-badge--success { + color: #18753c; + background-color: #b8fec9; + } + + .fr-badge--warning { + color: #b34000; + background-color: #ffe9e6; + } + + .fr-badge--new { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--green-tilleul-verveine { + color: #66673d; + background-color: #fceeac; + } + + .fr-badge--green-bourgeon { + color: #447049; + background-color: #c9fcac; + } + + .fr-badge--green-emeraude { + color: #297254; + background-color: #c3fad5; + } + + .fr-badge--green-menthe { + color: #37635f; + background-color: #bafaee; + } + + .fr-badge--green-archipel { + color: #006a6f; + background-color: #c7f6fc; + } + + .fr-badge--blue-ecume { + color: #2f4077; + background-color: #e9edfe; + } + + .fr-badge--blue-cumulus { + color: #3558a2; + background-color: #e6eefe; + } + + .fr-badge--purple-glycine { + color: #6e445a; + background-color: #fee7fc; + } + + .fr-badge--pink-macaron { + color: #8d533e; + background-color: #fee9e6; + } + + .fr-badge--pink-tuile { + color: #a94645; + background-color: #fee9e7; + } + + .fr-badge--yellow-tournesol { + color: #716043; + background-color: #feecc2; + } + + .fr-badge--yellow-moutarde { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--orange-terre-battue { + color: #755348; + background-color: #fee9e5; + } + + .fr-badge--brown-cafe-creme { + color: #685c48; + background-color: #f7ecdb; + } + + .fr-badge--brown-caramel { + color: #845d48; + background-color: #f7ebe5; + } + + .fr-badge--brown-opera { + color: #745b47; + background-color: #f7ece4; + } + + .fr-badge--beige-gris-galet { + color: #6a6156; + background-color: #f3ede5; + } + + .fr-logo { + color: #000; + } + + .fr-logo::after { + background-position: 0 calc(100% + 1.875rem) !important; + } + + .fr-btn { + background-color: #000091; + color: #f5f5fe; + } + + .fr-btn:hover { + background-color: #1212ff; + } + + .fr-btn:active { + background-color: #2323ff; + } + + .fr-btn:disabled, + a.fr-btn:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-btn--secondary { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary, + .fr-btn--account { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + color: #000091; + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + color: #929292; + } + + .fr-btn--secondary, + .fr-btn--tertiary, + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip { + background-color: transparent; + } + + .fr-connect { + background-color: #000091; + color: #f5f5fe; + } + + .fr-connect:disabled, + a.fr-connect:not([href]) { + background-color: #e5e5e5; + color: #929292; + } + + .fr-connect-group .fr-connect + p a { + color: #000091; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-connect-group p { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-quote { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-quote::before { + color: #6a6af4; + } + + .fr-quote--green-tilleul-verveine::before { + color: #b7a73f; + } + + .fr-quote--green-bourgeon::before { + color: #68a532; + } + + .fr-quote--green-emeraude::before { + color: #00a95f; + } + + .fr-quote--green-menthe::before { + color: #009081; + } + + .fr-quote--green-archipel::before { + color: #009099; + } + + .fr-quote--blue-ecume::before { + color: #465f9d; + } + + .fr-quote--blue-cumulus::before { + color: #417dc4; + } + + .fr-quote--purple-glycine::before { + color: #a558a0; + } + + .fr-quote--pink-macaron::before { + color: #e18b76; + } + + .fr-quote--pink-tuile::before { + color: #ce614a; + } + + .fr-quote--yellow-tournesol::before { + color: #c8aa39; + } + + .fr-quote--yellow-moutarde::before { + color: #c3992a; + } + + .fr-quote--orange-terre-battue::before { + color: #e4794a; + } + + .fr-quote--brown-cafe-creme::before { + color: #d1b781; + } + + .fr-quote--brown-caramel::before { + color: #c08c65; + } + + .fr-quote--brown-opera::before { + color: #bd987a; + } + + .fr-quote--beige-gris-galet::before { + color: #aea397; + } + + .fr-quote__source { + color: #666; + } + + .fr-quote__author, + .fr-quote cite, + .fr-quote figcaption li { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-breadcrumb { + color: #666; + display: none; + } + + .fr-breadcrumb__link[aria-current]:not([aria-current=false]) { + color: #3a3a3a; + } + + .fr-select-group--valid label, + .fr-input-group--valid label, + .fr-range-group--valid label, + .fr-upload-group--valid label { + color: #18753c; + } + + .fr-select-group--error label, + .fr-input-group--error label, + .fr-range-group--error label, + .fr-upload-group--error label { + color: #ce0500; + } + + .fr-select-group--info label, + .fr-input-group--info label, + .fr-range-group--info label, + .fr-upload-group--info label { + color: #0063cb; + } + + .fr-select-group--disabled label, + .fr-select-group--disabled .fr-hint-text, + .fr-input-group--disabled label, + .fr-input-group--disabled .fr-hint-text, + .fr-range-group--disabled label, + .fr-range-group--disabled .fr-hint-text, + .fr-upload-group--disabled label, + .fr-upload-group--disabled .fr-hint-text { + color: #929292; + } + + .fr-label { + color: #161616; + } + + .fr-label--error { + color: #ce0500; + } + + .fr-label--success { + color: #18753c; + } + + .fr-label--info { + color: #0063cb; + } + + .fr-label--disabled, + .fr-label--disabled .fr-hint-text { + color: #929292; + } + + .fr-hint-text, + .fr-message { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-message--error { + color: #ce0500; + } + + .fr-message--valid { + color: #18753c; + } + + .fr-message--info { + color: #0063cb; + } + + .fr-fieldset:disabled .fr-label, + .fr-fieldset:disabled .fr-hint-text, + .fr-fieldset:disabled .fr-fieldset__legend { + color: #929292; + } + + .fr-fieldset input:disabled + label, + .fr-fieldset input:disabled + label .fr-hint-text, + .fr-fieldset input:disabled + label + .fr-hint-text { + color: #929292; + } + + .fr-fieldset__legend { + color: #161616; + } + + .fr-fieldset--error, + .fr-fieldset--error .fr-fieldset__legend { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-fieldset--error .fr-fieldset__legend, + .fr-fieldset--error .fr-label { + color: #ce0500; + } + + .fr-fieldset--valid, + .fr-fieldset--valid .fr-fieldset__legend { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-fieldset--valid .fr-fieldset__legend, + .fr-fieldset--valid .fr-label { + color: #18753c; + } + + .fr-fieldset--info, + .fr-fieldset--info .fr-fieldset__legend { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-fieldset--info .fr-fieldset__legend, + .fr-fieldset--info .fr-label { + color: #0063cb; + } + + .fr-stepper__title { + color: #161616; + } + + .fr-stepper__state { + color: #666; + } + + .fr-stepper__details { + color: #666; + } + + .fr-stepper__steps { + background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer)), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer)); + } + + .fr-stepper__state, + .fr-stepper__details { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-tooltip { + color: #3a3a3a; + display: none; + } + + .fr-tooltip.fr-placement--top { + background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } + + .fr-tooltip.fr-placement--bottom { + background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } + + .fr-link { + color: #000091; + } + + .fr-link__detail { + color: #666; + } + + .fr-links-group li::marker { + color: #000091; + } + + .fr-links-group--bordered { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-sidemenu { + box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd; + + /* + @include elevation.elevate(raised, (legacy:$legacy)); + @include respond-from(md) { + @include elevation.drop((legacy:$legacy)); + } + */ + display: none; + } + + .fr-sidemenu__title { + color: #161616; + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item .fr-sidemenu__link, + .fr-sidemenu__item .fr-sidemenu__btn { + color: #161616; + } + + .fr-sidemenu__item::before { + box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:first-child::before { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:last-child::before { + box-shadow: 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__link, + .fr-sidemenu__btn { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false]), + .fr-sidemenu__btn[aria-current]:not([aria-current=false]) { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, + .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before { + background-color: #000091; + } + + .fr-sidemenu__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-highlight { + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-highlight--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-highlight--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-highlight--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-highlight--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-highlight--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-highlight--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-highlight--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-highlight--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-highlight--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-highlight--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-highlight--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-highlight--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-highlight--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-highlight--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-highlight--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-highlight--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-highlight--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + } + + .fr-tabs { + box-shadow: inset 0 -1px 0 0 #ddd; + + /** + * Tab button + */ + } + + .fr-tabs::before { + box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd; + } + + .fr-tabs__tab { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + box-shadow: 0 2px 0 0 #fff; + } + + .fr-tabs__tab:not([aria-selected=true]) { + background-color: #e3e3fd; + color: #161616; + } + + .fr-tabs__tab[aria-selected=true]:not(:disabled) { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + color: #000091; + } + + .fr-tabs__tab:disabled { + color: #929292; + background-color: #e5e5e5; + } + + .fr-pagination { + color: #161616; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]) { + background-color: #000091; + color: #f5f5fe; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):hover { + background-color: #1212ff; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):active { + background-color: #2323ff; + } + + .fr-pagination__link:not([aria-current]):disabled, + a.fr-pagination__link:not([aria-current]):not([href]), + a.fr-pagination__link[aria-current=false]:not([href]), + .fr-pagination__link[aria-current=false]:disabled { + color: #929292; + } + + .fr-summary { + background-color: #eee; + display: none; + } + + .fr-summary__title { + color: #161616; + } + + .fr-summary li > a { + color: #161616; + } + + .fr-table { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table caption { + color: #161616; + } + + .fr-table thead { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + background-color: #eee; + color: #161616; + } + + .fr-table tbody { + background-color: #f6f6f6; + } + + .fr-table tbody tr:nth-child(even) { + background-color: #eee; + } + + .fr-table--green-tilleul-verveine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-tilleul-verveine thead { + background-image: linear-gradient(0deg, #66673d, #66673d); + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine tbody { + background-color: #fef7da; + } + + .fr-table--green-tilleul-verveine tbody tr:nth-child(even) { + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-table--green-bourgeon { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-bourgeon thead { + background-image: linear-gradient(0deg, #447049, #447049); + background-color: #c9fcac; + } + + .fr-table--green-bourgeon tbody { + background-color: #e6feda; + } + + .fr-table--green-bourgeon tbody tr:nth-child(even) { + background-color: #c9fcac; + } + + .fr-table--green-bourgeon.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-table--green-emeraude { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-emeraude thead { + background-image: linear-gradient(0deg, #297254, #297254); + background-color: #c3fad5; + } + + .fr-table--green-emeraude tbody { + background-color: #e3fdeb; + } + + .fr-table--green-emeraude tbody tr:nth-child(even) { + background-color: #c3fad5; + } + + .fr-table--green-emeraude.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-table--green-menthe { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-menthe thead { + background-image: linear-gradient(0deg, #37635f, #37635f); + background-color: #bafaee; + } + + .fr-table--green-menthe tbody { + background-color: #dffdf7; + } + + .fr-table--green-menthe tbody tr:nth-child(even) { + background-color: #bafaee; + } + + .fr-table--green-menthe.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-table--green-archipel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-archipel thead { + background-image: linear-gradient(0deg, #006a6f, #006a6f); + background-color: #c7f6fc; + } + + .fr-table--green-archipel tbody { + background-color: #e5fbfd; + } + + .fr-table--green-archipel tbody tr:nth-child(even) { + background-color: #c7f6fc; + } + + .fr-table--green-archipel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-table--blue-ecume { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-ecume thead { + background-image: linear-gradient(0deg, #2f4077, #2f4077); + background-color: #e9edfe; + } + + .fr-table--blue-ecume tbody { + background-color: #f4f6fe; + } + + .fr-table--blue-ecume tbody tr:nth-child(even) { + background-color: #e9edfe; + } + + .fr-table--blue-ecume.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-table--blue-cumulus { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-cumulus thead { + background-image: linear-gradient(0deg, #3558a2, #3558a2); + background-color: #e6eefe; + } + + .fr-table--blue-cumulus tbody { + background-color: #f3f6fe; + } + + .fr-table--blue-cumulus tbody tr:nth-child(even) { + background-color: #e6eefe; + } + + .fr-table--blue-cumulus.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-table--purple-glycine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--purple-glycine thead { + background-image: linear-gradient(0deg, #6e445a, #6e445a); + background-color: #fee7fc; + } + + .fr-table--purple-glycine tbody { + background-color: #fef3fd; + } + + .fr-table--purple-glycine tbody tr:nth-child(even) { + background-color: #fee7fc; + } + + .fr-table--purple-glycine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-table--pink-macaron { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-macaron thead { + background-image: linear-gradient(0deg, #8d533e, #8d533e); + background-color: #fee9e6; + } + + .fr-table--pink-macaron tbody { + background-color: #fef4f2; + } + + .fr-table--pink-macaron tbody tr:nth-child(even) { + background-color: #fee9e6; + } + + .fr-table--pink-macaron.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-table--pink-tuile { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-tuile thead { + background-image: linear-gradient(0deg, #a94645, #a94645); + background-color: #fee9e7; + } + + .fr-table--pink-tuile tbody { + background-color: #fef4f3; + } + + .fr-table--pink-tuile tbody tr:nth-child(even) { + background-color: #fee9e7; + } + + .fr-table--pink-tuile.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-table--yellow-tournesol { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-tournesol thead { + background-image: linear-gradient(0deg, #716043, #716043); + background-color: #feecc2; + } + + .fr-table--yellow-tournesol tbody { + background-color: #fef6e3; + } + + .fr-table--yellow-tournesol tbody tr:nth-child(even) { + background-color: #feecc2; + } + + .fr-table--yellow-tournesol.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-table--yellow-moutarde { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-moutarde thead { + background-image: linear-gradient(0deg, #695240, #695240); + background-color: #feebd0; + } + + .fr-table--yellow-moutarde tbody { + background-color: #fef5e8; + } + + .fr-table--yellow-moutarde tbody tr:nth-child(even) { + background-color: #feebd0; + } + + .fr-table--yellow-moutarde.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-table--orange-terre-battue { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--orange-terre-battue thead { + background-image: linear-gradient(0deg, #755348, #755348); + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue tbody { + background-color: #fef4f2; + } + + .fr-table--orange-terre-battue tbody tr:nth-child(even) { + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-table--brown-cafe-creme { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-cafe-creme thead { + background-image: linear-gradient(0deg, #685c48, #685c48); + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme tbody { + background-color: #fbf6ed; + } + + .fr-table--brown-cafe-creme tbody tr:nth-child(even) { + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-table--brown-caramel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-caramel thead { + background-image: linear-gradient(0deg, #845d48, #845d48); + background-color: #f7ebe5; + } + + .fr-table--brown-caramel tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-caramel tbody tr:nth-child(even) { + background-color: #f7ebe5; + } + + .fr-table--brown-caramel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-table--brown-opera { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-opera thead { + background-image: linear-gradient(0deg, #745b47, #745b47); + background-color: #f7ece4; + } + + .fr-table--brown-opera tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-opera tbody tr:nth-child(even) { + background-color: #f7ece4; + } + + .fr-table--brown-opera.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-table--beige-gris-galet { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--beige-gris-galet thead { + background-image: linear-gradient(0deg, #6a6156, #6a6156); + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet tbody { + background-color: #f9f6f2; + } + + .fr-table--beige-gris-galet tbody tr:nth-child(even) { + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #aea397, #aea397); + } + + .fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ddd, #ddd); + + /* Style bordered, enleve le style even/odd */ + } + + .fr-table td, + .fr-table th { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-tag { + color: #161616; + background-color: #eee; + } + + .fr-tag[aria-pressed=false] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-tag[aria-pressed=false]:hover { + background-color: #c1c1fb; + } + + .fr-tag[aria-pressed=false]:active { + background-color: #adadf9; + } + + .fr-tag.fr-tag--dismiss { + color: #f5f5fe; + background-color: #000091; + } + + .fr-tag.fr-tag--dismiss:hover { + background-color: #1212ff; + } + + .fr-tag.fr-tag--dismiss:active { + background-color: #2323ff; + } + + a[href].fr-tag, + button.fr-tag, + input[type=button].fr-tag { + color: #000091; + background-color: #e3e3fd; + } + + a[href].fr-tag:hover, + button.fr-tag:hover, + input[type=button].fr-tag:hover { + background-color: #c1c1fb; + } + + a[href].fr-tag:active, + button.fr-tag:active, + input[type=button].fr-tag:active { + background-color: #adadf9; + } + + a[href].fr-tag--green-tilleul-verveine, + button.fr-tag--green-tilleul-verveine, + input[type=button].fr-tag--green-tilleul-verveine { + color: #66673d; + background-color: #fbe769; + } + + a[href].fr-tag--green-tilleul-verveine:hover, + button.fr-tag--green-tilleul-verveine:hover, + input[type=button].fr-tag--green-tilleul-verveine:hover { + background-color: #d7c655; + } + + a[href].fr-tag--green-tilleul-verveine:active, + button.fr-tag--green-tilleul-verveine:active, + input[type=button].fr-tag--green-tilleul-verveine:active { + background-color: #c2b24c; + } + + a[href].fr-tag--green-bourgeon, + button.fr-tag--green-bourgeon, + input[type=button].fr-tag--green-bourgeon { + color: #447049; + background-color: #a9fb68; + } + + a[href].fr-tag--green-bourgeon:hover, + button.fr-tag--green-bourgeon:hover, + input[type=button].fr-tag--green-bourgeon:hover { + background-color: #8ed654; + } + + a[href].fr-tag--green-bourgeon:active, + button.fr-tag--green-bourgeon:active, + input[type=button].fr-tag--green-bourgeon:active { + background-color: #7fc04b; + } + + a[href].fr-tag--green-emeraude, + button.fr-tag--green-emeraude, + input[type=button].fr-tag--green-emeraude { + color: #297254; + background-color: #9ef9be; + } + + a[href].fr-tag--green-emeraude:hover, + button.fr-tag--green-emeraude:hover, + input[type=button].fr-tag--green-emeraude:hover { + background-color: #69df97; + } + + a[href].fr-tag--green-emeraude:active, + button.fr-tag--green-emeraude:active, + input[type=button].fr-tag--green-emeraude:active { + background-color: #5ec988; + } + + a[href].fr-tag--green-menthe, + button.fr-tag--green-menthe, + input[type=button].fr-tag--green-menthe { + color: #37635f; + background-color: #8bf8e7; + } + + a[href].fr-tag--green-menthe:hover, + button.fr-tag--green-menthe:hover, + input[type=button].fr-tag--green-menthe:hover { + background-color: #6ed5c5; + } + + a[href].fr-tag--green-menthe:active, + button.fr-tag--green-menthe:active, + input[type=button].fr-tag--green-menthe:active { + background-color: #62bfb1; + } + + a[href].fr-tag--green-archipel, + button.fr-tag--green-archipel, + input[type=button].fr-tag--green-archipel { + color: #006a6f; + background-color: #a6f2fa; + } + + a[href].fr-tag--green-archipel:hover, + button.fr-tag--green-archipel:hover, + input[type=button].fr-tag--green-archipel:hover { + background-color: #62dbe5; + } + + a[href].fr-tag--green-archipel:active, + button.fr-tag--green-archipel:active, + input[type=button].fr-tag--green-archipel:active { + background-color: #58c5cf; + } + + a[href].fr-tag--blue-ecume, + button.fr-tag--blue-ecume, + input[type=button].fr-tag--blue-ecume { + color: #2f4077; + background-color: #dee5fd; + } + + a[href].fr-tag--blue-ecume:hover, + button.fr-tag--blue-ecume:hover, + input[type=button].fr-tag--blue-ecume:hover { + background-color: #b4c5fb; + } + + a[href].fr-tag--blue-ecume:active, + button.fr-tag--blue-ecume:active, + input[type=button].fr-tag--blue-ecume:active { + background-color: #99b3f9; + } + + a[href].fr-tag--blue-cumulus, + button.fr-tag--blue-cumulus, + input[type=button].fr-tag--blue-cumulus { + color: #3558a2; + background-color: #dae6fd; + } + + a[href].fr-tag--blue-cumulus:hover, + button.fr-tag--blue-cumulus:hover, + input[type=button].fr-tag--blue-cumulus:hover { + background-color: #a9c8fb; + } + + a[href].fr-tag--blue-cumulus:active, + button.fr-tag--blue-cumulus:active, + input[type=button].fr-tag--blue-cumulus:active { + background-color: #8ab8f9; + } + + a[href].fr-tag--purple-glycine, + button.fr-tag--purple-glycine, + input[type=button].fr-tag--purple-glycine { + color: #6e445a; + background-color: #fddbfa; + } + + a[href].fr-tag--purple-glycine:hover, + button.fr-tag--purple-glycine:hover, + input[type=button].fr-tag--purple-glycine:hover { + background-color: #fbaff5; + } + + a[href].fr-tag--purple-glycine:active, + button.fr-tag--purple-glycine:active, + input[type=button].fr-tag--purple-glycine:active { + background-color: #fa96f2; + } + + a[href].fr-tag--pink-macaron, + button.fr-tag--pink-macaron, + input[type=button].fr-tag--pink-macaron { + color: #8d533e; + background-color: #fddfda; + } + + a[href].fr-tag--pink-macaron:hover, + button.fr-tag--pink-macaron:hover, + input[type=button].fr-tag--pink-macaron:hover { + background-color: #fbb8ab; + } + + a[href].fr-tag--pink-macaron:active, + button.fr-tag--pink-macaron:active, + input[type=button].fr-tag--pink-macaron:active { + background-color: #faa18d; + } + + a[href].fr-tag--pink-tuile, + button.fr-tag--pink-tuile, + input[type=button].fr-tag--pink-tuile { + color: #a94645; + background-color: #fddfdb; + } + + a[href].fr-tag--pink-tuile:hover, + button.fr-tag--pink-tuile:hover, + input[type=button].fr-tag--pink-tuile:hover { + background-color: #fbb8ad; + } + + a[href].fr-tag--pink-tuile:active, + button.fr-tag--pink-tuile:active, + input[type=button].fr-tag--pink-tuile:active { + background-color: #faa191; + } + + a[href].fr-tag--yellow-tournesol, + button.fr-tag--yellow-tournesol, + input[type=button].fr-tag--yellow-tournesol { + color: #716043; + background-color: #fde39c; + } + + a[href].fr-tag--yellow-tournesol:hover, + button.fr-tag--yellow-tournesol:hover, + input[type=button].fr-tag--yellow-tournesol:hover { + background-color: #e9c53b; + } + + a[href].fr-tag--yellow-tournesol:active, + button.fr-tag--yellow-tournesol:active, + input[type=button].fr-tag--yellow-tournesol:active { + background-color: #d3b235; + } + + a[href].fr-tag--yellow-moutarde, + button.fr-tag--yellow-moutarde, + input[type=button].fr-tag--yellow-moutarde { + color: #695240; + background-color: #fde2b5; + } + + a[href].fr-tag--yellow-moutarde:hover, + button.fr-tag--yellow-moutarde:hover, + input[type=button].fr-tag--yellow-moutarde:hover { + background-color: #f6c43c; + } + + a[href].fr-tag--yellow-moutarde:active, + button.fr-tag--yellow-moutarde:active, + input[type=button].fr-tag--yellow-moutarde:active { + background-color: #dfb135; + } + + a[href].fr-tag--orange-terre-battue, + button.fr-tag--orange-terre-battue, + input[type=button].fr-tag--orange-terre-battue { + color: #755348; + background-color: #fddfd8; + } + + a[href].fr-tag--orange-terre-battue:hover, + button.fr-tag--orange-terre-battue:hover, + input[type=button].fr-tag--orange-terre-battue:hover { + background-color: #fbb8a5; + } + + a[href].fr-tag--orange-terre-battue:active, + button.fr-tag--orange-terre-battue:active, + input[type=button].fr-tag--orange-terre-battue:active { + background-color: #faa184; + } + + a[href].fr-tag--brown-cafe-creme, + button.fr-tag--brown-cafe-creme, + input[type=button].fr-tag--brown-cafe-creme { + color: #685c48; + background-color: #f4e3c7; + } + + a[href].fr-tag--brown-cafe-creme:hover, + button.fr-tag--brown-cafe-creme:hover, + input[type=button].fr-tag--brown-cafe-creme:hover { + background-color: #e1c386; + } + + a[href].fr-tag--brown-cafe-creme:active, + button.fr-tag--brown-cafe-creme:active, + input[type=button].fr-tag--brown-cafe-creme:active { + background-color: #ccb078; + } + + a[href].fr-tag--brown-caramel, + button.fr-tag--brown-caramel, + input[type=button].fr-tag--brown-caramel { + color: #845d48; + background-color: #f3e2d9; + } + + a[href].fr-tag--brown-caramel:hover, + button.fr-tag--brown-caramel:hover, + input[type=button].fr-tag--brown-caramel:hover { + background-color: #e7bea6; + } + + a[href].fr-tag--brown-caramel:active, + button.fr-tag--brown-caramel:active, + input[type=button].fr-tag--brown-caramel:active { + background-color: #e1a982; + } + + a[href].fr-tag--brown-opera, + button.fr-tag--brown-opera, + input[type=button].fr-tag--brown-opera { + color: #745b47; + background-color: #f3e2d7; + } + + a[href].fr-tag--brown-opera:hover, + button.fr-tag--brown-opera:hover, + input[type=button].fr-tag--brown-opera:hover { + background-color: #e7bfa0; + } + + a[href].fr-tag--brown-opera:active, + button.fr-tag--brown-opera:active, + input[type=button].fr-tag--brown-opera:active { + background-color: #deaa7e; + } + + a[href].fr-tag--beige-gris-galet, + button.fr-tag--beige-gris-galet, + input[type=button].fr-tag--beige-gris-galet { + color: #6a6156; + background-color: #eee4d9; + } + + a[href].fr-tag--beige-gris-galet:hover, + button.fr-tag--beige-gris-galet:hover, + input[type=button].fr-tag--beige-gris-galet:hover { + background-color: #dbc3a4; + } + + a[href].fr-tag--beige-gris-galet:active, + button.fr-tag--beige-gris-galet:active, + input[type=button].fr-tag--beige-gris-galet:active { + background-color: #c6b094; + } + + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + color: #f5f5fe; + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):hover, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):active, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]::after, + input[type=button].fr-tag[aria-pressed=true]::after { + color: #000091; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem); + } + + button.fr-tag[aria-pressed=true]:disabled::after, + input[type=button].fr-tag[aria-pressed=true]:disabled::after { + color: #929292; + } + + button.fr-tag[aria-pressed=true].fr-tag--sm, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:hover, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:active, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:disabled, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } + + button.fr-tag:disabled, + input[type=button].fr-tag:disabled { + color: #929292; + background-color: #e5e5e5; + } + + a:not([href]).fr-tag { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true], + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } + + .fr-alert { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-alert::before { + color: #fff; + } + + .fr-alert--info { + background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-alert--error { + background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-alert--success { + background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c); + } + + .fr-alert--warning { + background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000); + } + + .fr-notice { + background-color: #eee; + color: #161616; + } + + .fr-notice--info { + background-color: #e8edff; + color: #0063cb; + } + + .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-radio-group input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-group--sm input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + } + + .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px); + background-color: #fff; + } + + .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * { + fill: #929292; + } + + .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-radio-rich input[type=radio]:checked:disabled + label { + background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-card { + background-color: #fff; + } + + .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-card--grey { + background-color: #eee; + } + + .fr-card--shadow { + background-color: #fff; + } + + .fr-card--shadow.fr-card--grey { + background-color: #eee; + } + + .fr-card--download:not(.fr-card--no-background) .fr-card__header { + background-color: #f6f6f6; + } + + .fr-card__detail { + color: #666; + line-height: 1rem !important; + } + + .fr-card__title { + color: #161616; + } + + .fr-card__title a[href] { + color: #000091; + } + + .fr-card__title:disabled, + a.fr-card__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-card__detail, + .fr-card__desc { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:checked + label::before { + background-color: var(--background-active-blue-france); + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group input[type=checkbox]:disabled + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + background-color: var(--background-disabled-grey); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group--error input[type=checkbox] + label, + .fr-checkbox-group--error input[type=checkbox]:checked + label { + color: #ce0500; + } + + .fr-checkbox-group--error input[type=checkbox] + label::before, + .fr-checkbox-group--error input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-checkbox-group--error::before { + background-color: #ce0500; + } + + .fr-checkbox-group--valid input[type=checkbox] + label, + .fr-checkbox-group--valid input[type=checkbox]:checked + label { + color: #18753c; + } + + .fr-checkbox-group--valid input[type=checkbox] + label::before, + .fr-checkbox-group--valid input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } + + .fr-checkbox-group--valid::before { + background-color: #18753c; + } + + .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } + + .fr-toggle label { + color: #161616; + } + + .fr-toggle label::before { + color: #000091; + content: ""; + display: block; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle label::after { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + background-color: #fff; + } + + .fr-toggle input[type=checkbox] { + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-toggle input[type=checkbox]:checked { + background-color: #000091; + } + + .fr-toggle input[type=checkbox]:disabled { + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled:checked { + background-color: #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + color: #929292; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle .fr-hint-text { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle--border-bottom { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-toggle--error label, + .fr-fieldset--error .fr-toggle label { + color: #ce0500; + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + color: #ce0500; + } + + .fr-toggle--error label::after, + .fr-fieldset--error .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #ce0500; + } + + .fr-toggle--valid label, + .fr-fieldset--valid .fr-toggle label { + color: #18753c; + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + color: #18753c; + } + + .fr-toggle--valid label::after, + .fr-fieldset--valid .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #18753c; + } + + .fr-skiplinks { + background-color: #eee; + } + + .fr-skiplink { + display: none; + } + + .fr-select { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + + /** + * Mixin pour gérer l'état disabled + */ + + /** + * On applique un style lorsque la valeur est automatiquement remplie par le navigateur + * sur les navigateurs webkit. + */ + } + + .fr-fieldset--valid .fr-select, + .fr-select-group--valid .fr-select { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-select, + .fr-select-group--error .fr-select { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-select-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-select-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-select-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-select:disabled { + color: #929292; + box-shadow: inset 0 -2px 0 0 #e5e5e5; + } + + .fr-select:-webkit-autofill, + .fr-select:-webkit-autofill:hover, + .fr-select:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe; + -webkit-text-fill-color: #161616; + } + + .fr-callout { + background-color: #eee; + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-callout::before { + color: #161616; + } + + .fr-callout__title { + color: #161616; + } + + .fr-callout--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + background-color: #fceeac; + } + + .fr-callout--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + background-color: #c9fcac; + } + + .fr-callout--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + background-color: #c3fad5; + } + + .fr-callout--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + background-color: #bafaee; + } + + .fr-callout--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + background-color: #c7f6fc; + } + + .fr-callout--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + background-color: #e9edfe; + } + + .fr-callout--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + background-color: #e6eefe; + } + + .fr-callout--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + background-color: #fee7fc; + } + + .fr-callout--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + background-color: #fee9e6; + } + + .fr-callout--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + background-color: #fee9e7; + } + + .fr-callout--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + background-color: #feecc2; + } + + .fr-callout--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + background-color: #feebd0; + } + + .fr-callout--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + background-color: #fee9e5; + } + + .fr-callout--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + background-color: #f7ecdb; + } + + .fr-callout--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + background-color: #f7ebe5; + } + + .fr-callout--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + background-color: #f7ece4; + } + + .fr-callout--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + background-color: #f3ede5; + } + + .fr-modal__body { + background-color: #fff; + } + + .fr-modal__title { + color: #161616; + } + + .fr-modal__footer { + background-color: #fff; + } + + .fr-modal__body.fr-scroll-divider .fr-modal__footer { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-modal { + display: none; + } + + .fr-navigation { + display: none; + } + + .fr-share .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-share__text { + color: #666; + } + + .fr-share { + display: none; + } + + .fr-footer { + box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd; + display: none; + } + + .fr-footer__content-link { + color: #3a3a3a; + } + + .fr-footer__top-cat { + color: #161616; + } + + .fr-footer__top { + background-color: #f6f6f6; + } + + .fr-footer__bottom { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__bottom .fr-btn { + color: #666; + } + + .fr-footer__bottom-item::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-footer__bottom-link { + color: #666; + } + + .fr-footer__bottom-copy { + color: #666; + } + + .fr-footer__partners { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__partners-title { + color: #3a3a3a; + } + + .fr-footer__partners .fr-footer__logo { + background-color: #fff; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-tile { + background-color: #fff; + } + + .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-tile--grey { + background-color: #eee; + } + + .fr-tile--shadow { + background-color: #fff; + } + + .fr-tile--shadow.fr-tile--grey { + background-color: #eee; + } + + .fr-tile__title { + color: #161616; + } + + .fr-tile__title:disabled, + a.fr-tile__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tile__title::before { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-tile__title a { + color: #000091; + } + + .fr-tile__title a::before { + background-image: linear-gradient(0deg, #000091, #000091); + } + + .fr-tile__title a:not([href]) { + color: #929292; + } + + .fr-tile__title a:not([href])::before { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5); + } + + .fr-tile .fr-tile__desc, + .fr-tile .fr-tile__detail, + .fr-tile__desc, + .fr-tile__detail, + .fr-tile--sm .fr-tile__desc, + .fr-tile--sm .fr-tile__detail, + .fr-tile--sm__desc, + .fr-tile--sm__detail { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-translate .fr-translate__btn[aria-expanded=true] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:hover { + background-color: var(--hover-tint); + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:active { + background-color: var(--active-tint); + } + + .fr-translate .fr-translate__btn { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-transcription::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-transcription__btn { + color: #000091; + } + + .fr-transcription__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-transcription__content::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription__footer::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription .fr-modal:not(.fr-modal--opened)::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription { + display: none; + } + + .fr-input { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + } + + .fr-input::placeholder { + color: #666; + } + + .fr-input::-webkit-contacts-auto-fill-button { + background-color: #161616; + } + + .fr-input::-webkit-contacts-auto-fill-button:hover { + background-color: #343434; + } + + .fr-input::-webkit-contacts-auto-fill-button:active { + background-color: #474747; + } + + .fr-input:disabled { + color: var(--text-disabled-grey); + box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey); + } + + .fr-input:autofill, + .fr-input:autofill:hover, + .fr-input:autofill:focus, + .fr-input:-webkit-autofill, + .fr-input:-webkit-autofill:hover, + .fr-input:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff; + -webkit-text-fill-color: #161616; + } + + .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-fieldset--valid .fr-input, + .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--valid .fr-input, + .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-input, + .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--error .fr-input, + .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-input-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-input-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-input-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-search-bar .fr-input { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-search-bar .fr-input--valid { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-search-bar .fr-input--error { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-content-media__caption, + .fr-content-media .fr-link { + color: #666; + } + + .fr-content-media__caption { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-content-media__caption .fr-link { + font-size: 1rem; + line-height: 1.5rem; + padding: 0 0; + } + + .fr-content-media__caption .fr-link::before, + .fr-content-media__caption .fr-link::after { + --icon-size: 1rem; + } + + .fr-consent-placeholder { + background-color: #eee; + } + + .fr-consent-banner { + background-color: #f6f6f6; + box-shadow: inset 0 0 0 1px #ddd; + display: none; + } + + .fr-consent-manager__header, + .fr-consent-service { + box-shadow: inset 0 -1px 0 0 #ddd; + color: #3a3a3a; + } + + .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before, + .fr-consent-service .fr-radio-group + .fr-radio-group::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-consent-service__title { + color: #161616; + } + + .fr-consent-service .fr-consent-service__collapse-btn { + color: #000091; + } + + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + .fr-follow { + background-color: #f5f5fe; + } + + .fr-follow .fr-input { + background-color: #fff; + } + + .fr-follow__title { + color: #161616; + } + + .fr-follow__newsletter-legal { + color: #666; + } + + .fr-follow__social .fr-btn { + color: #000091; + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + color: #929292; + } + + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: 0 -1px 0 0 #6a6af4; + } + + .fr-password__btn { + color: #000091; + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + color: #929292; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label { + color: #161616; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } + + .fr-header__brand { + background-color: #fff; + flex-wrap: nowrap; + } + + .fr-header__service { + color: #161616; + box-shadow: inset 0 1px 0 0 #ddd; + box-shadow: none; + } + + .fr-header__menu-links::after { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-header__menu-links .fr-btn { + color: #000091; + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links .fr-btn { + color: #000091; + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header__navbar .fr-service__title { + color: #161616; + } + + .fr-header__navbar .fr-btn { + color: #000091; + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__navbar .fr-btn--menu { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header .fr-modal { + background-color: #fff; + } + + .fr-header__menu { + display: none; + } + + .fr-header__body-row { + padding: 0; + } + + .fr-header__body .fr-header__tools, + .fr-header__body .fr-header__navbar { + display: none; + } + + .fr-header__brand-top { + width: auto; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-btn--secondary { + background-color: transparent; + } + + .fr-btn--secondary:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + background-color: transparent; + } + + .fr-btn--secondary:disabled:hover, + a.fr-btn--secondary:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:disabled:active, + a.fr-btn--secondary:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary, + .fr-btn--account { + background-color: transparent; + } + + .fr-btn--tertiary:hover, + .fr-btn--account:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:active, + .fr-btn--account:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + background-color: transparent; + } + + .fr-btn--tertiary:disabled:hover, + a.fr-btn--tertiary:not([href]):hover, + a.fr-btn--account:not([href]):hover, + .fr-btn--account:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:disabled:active, + a.fr-btn--tertiary:not([href]):active, + a.fr-btn--account:not([href]):active, + .fr-btn--account:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:hover, + .fr-btn--close:hover, + .fr-btn--display:hover, + .fr-btn--fullscreen:hover, + .fr-btn--tooltip:hover, + .fr-btn--briefcase:hover, + .fr-btn--team:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:active, + .fr-btn--close:active, + .fr-btn--display:active, + .fr-btn--fullscreen:active, + .fr-btn--tooltip:active, + .fr-btn--briefcase:active, + .fr-btn--team:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:disabled:hover, + a.fr-btn--tertiary-no-outline:not([href]):hover, + a.fr-btn--close:not([href]):hover, + a.fr-btn--display:not([href]):hover, + a.fr-btn--fullscreen:not([href]):hover, + a.fr-btn--tooltip:not([href]):hover, + a.fr-btn--briefcase:not([href]):hover, + a.fr-btn--team:not([href]):hover, + .fr-btn--close:disabled:hover, + .fr-btn--display:disabled:hover, + .fr-btn--fullscreen:disabled:hover, + .fr-btn--tooltip:disabled:hover, + .fr-btn--briefcase:disabled:hover, + .fr-btn--team:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:disabled:active, + a.fr-btn--tertiary-no-outline:not([href]):active, + a.fr-btn--close:not([href]):active, + a.fr-btn--display:not([href]):active, + a.fr-btn--fullscreen:not([href]):active, + a.fr-btn--tooltip:not([href]):active, + a.fr-btn--briefcase:not([href]):active, + a.fr-btn--team:not([href]):active, + .fr-btn--close:disabled:active, + .fr-btn--display:disabled:active, + .fr-btn--fullscreen:disabled:active, + .fr-btn--tooltip:disabled:active, + .fr-btn--briefcase:disabled:active, + .fr-btn--team:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-tooltip.fr-placement { + z-index: 1000; + } + + .fr-table--bordered tbody tr:nth-child(even) { + background-color: transparent; + } + + .fr-table--bordered tbody tr:nth-child(even):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-table--bordered tbody tr:nth-child(even):active { + background-color: rgba(0, 0, 0, 0.1); + } + + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + background-color: transparent; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-color: transparent; + } + + .fr-card--shadow { + z-index: 500; + } + + .fr-card--no-background { + background-color: transparent; + } + + .fr-card--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-card--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-select { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } + + .fr-select:disabled { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } + + .fr-modal__body { + z-index: 2000; + } + + .fr-share .fr-btn { + background-color: transparent; + } + + .fr-share .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-share .fr-btn:disabled:hover, + .fr-share a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:disabled:active, + .fr-share a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-tile--shadow { + z-index: 500; + } + + .fr-tile--no-background { + background-color: transparent; + } + + .fr-tile--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-tile--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-translate__menu .fr-translate__language { + box-shadow: none; + } + + .fr-search-bar .fr-input::-webkit-search-cancel-button { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E"); + } + + .fr-consent-banner { + z-index: 1500; + } + + .fr-consent-service:last-of-type, + .fr-consent-service .fr-consent-service { + box-shadow: none; + } + + .fr-follow__social .fr-btn { + background-color: transparent; + } + + .fr-follow__social .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-follow__social .fr-btn:disabled:hover, + .fr-follow__social a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:disabled:active, + .fr-follow__social a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password__btn { + background-color: transparent; + } + + .fr-password__btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + background-color: transparent; + } + + .fr-password__btn:disabled:hover, + a.fr-password__btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:disabled:active, + a.fr-password__btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password [data-fr-capslock]::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E"); + } + + .fr-header__brand { + z-index: 750; + } + + .fr-header__menu-links .fr-btn { + background-color: transparent; + box-shadow: none; + } + + .fr-header__menu-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__menu-links .fr-btn:disabled:hover, + .fr-header__menu-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:disabled:active, + .fr-header__menu-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:disabled:hover, + .fr-header__tools-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:disabled:active, + .fr-header__tools-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:disabled:hover, + .fr-header__navbar a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:disabled:active, + .fr-header__navbar a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:disabled:hover, + .fr-header__navbar a.fr-btn--menu:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:disabled:active, + .fr-header__navbar a.fr-btn--menu:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } +} +@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) { + .fr-sidemenu { + box-shadow: none; + } + + .fr-sidemenu__title { + box-shadow: none; + } +} +@media print and (min-width: 48em) { + .fr-sidemenu__inner { + box-shadow: inset -1px 0 0 0 #ddd; + } + + .fr-sidemenu--right .fr-sidemenu__inner { + box-shadow: inset 1px 0 0 0 #ddd; + } + + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: -1px 0 0 0 #6a6af4; + } +} +@media print and (min-width: 62em) { + .fr-header { + background-color: #fff; + } + + .fr-header .fr-header__menu { + box-shadow: inset 0 1px 0 0 #ddd; + } +} +@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) { + .fr-header { + z-index: 750; + } + + .fr-header__brand { + z-index: auto; + background: transparent; + } + + .fr-header__service { + box-shadow: none; + } +} diff --git a/design_system_admin/dsfr/component/component.print.css.map b/design_system_admin/dsfr/component/component.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..3db4a10b757e5de1bfa209234fef4b096936ca6b --- /dev/null +++ b/design_system_admin/dsfr/component/component.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20L_tDJI%3E","file:///Users/ket/Documents/work/dsfr/src/component/upload/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;ACKhB;ECLA;IC0BE,eAAA;IAGE,mBAAA;EHxBF;;EIWA;ICyBE,gDAAA;EL/BF;;EMGE;ID4BA,cAAA;EL5BF;;EMGI;IDyBF,yBAAA;ELzBF;;EOfA;IACE,0BAAA;EPiBF;;EOdA;IACE,sCAAA;IACA,8BAAA;IAEA,mBAAA;ICwBA,aAfE;EROJ;;ESjBA;IJiCE,cAAA;IAAA,sBAAA;ELVF;;ESnBE;IJ6BA,cAAA;IAAA,yBAAA;ELNF;;ESlBE;IJwBA,cAAA;IAAA,yBAAA;ELFF;;ESjBE;IJmBA,cAAA;IAAA,yBAAA;ELEF;;EShBE;IJcA,cAAA;IAAA,yBAAA;ELMF;;ESfE;IJSA,cAAA;IAAA,yBAAA;ELUF;;EUzCI;IL+BF,cAAA;IAAA,yBAAA;ELcF;;EU7CI;IL+BF,cAAA;IAAA,yBAAA;ELkBF;;EUjDI;IL+BF,cAAA;IAAA,yBAAA;ELsBF;;EUrDI;IL+BF,cAAA;IAAA,yBAAA;EL0BF;;EUzDI;IL+BF,cAAA;IAAA,yBAAA;EL8BF;;EU7DI;IL+BF,cAAA;IAAA,yBAAA;ELkCF;;EUjEI;IL+BF,cAAA;IAAA,yBAAA;ELsCF;;EUrEI;IL+BF,cAAA;IAAA,yBAAA;EL0CF;;EUzEI;IL+BF,cAAA;IAAA,yBAAA;EL8CF;;EU7EI;IL+BF,cAAA;IAAA,yBAAA;ELkDF;;EUjFI;IL+BF,cAAA;IAAA,yBAAA;ELsDF;;EUrFI;IL+BF,cAAA;IAAA,yBAAA;EL0DF;;EUzFI;IL+BF,cAAA;IAAA,yBAAA;EL8DF;;EU7FI;IL+BF,cAAA;IAAA,yBAAA;ELkEF;;EUjGI;IL+BF,cAAA;IAAA,yBAAA;ELsEF;;EUrGI;IL+BF,cAAA;IAAA,yBAAA;EL0EF;;EUzGI;IL+BF,cAAA;IAAA,yBAAA;EL8EF;;EW/GA;INiCE,WAAA;ELmFF;;EY3HA;IACE,uDAAA;EZ6HF;;EatHA;IRgCE,yBAAA;IAAA,cAAA;EL4FF;;EcnIE;ITuFA,yBAAA;EL+CF;;EctIE;ITuFA,yBAAA;ELkDF;;EexHS;;IVsBP,cAAA;IAAA,yBAAA;ELsGF;;Ea/HE;IRyBA,cAAA;IAAA,mCAAA;EL0GF;;EehIS;;IVsBP,cAAA;IAAA,mCAAA;EL2HF;;Ea/IE;;IRoBA,cAAA;IAAA,gCAAA;EL4IF;;EelKS;;;;IVsBP,cAAA;IAAA,mCAAA;EL6JF;;Ea3KE;;;;;;;IRcA,cAAA;EL6KF;;EenMS;;;;;;;;;;;;;;IVsBP,cAAA;EL6LF;;EgBrOA;;;;;;;IAOE,6BAAA;EhB8OF;;EiB7OA;IZgCE,yBAAA;IAAA,cAAA;ELmNF;;EezOS;;IVsBP,yBAAA;IAAA,cAAA;ELuNF;;EkBtPI;Ib+BF,cAAA;IFfF,eAAA;IAGE,mBAAA;EHsOF;;EkBrPI;Ib2BF,WAAA;IFfF,eAAA;IAGE,mBAAA;EHyOF;;EmB9PA;IdiCE,mDAAA;EL0OF;;EInQA;ICyBE,cAAA;EL6OF;;EItQA;ICyBE,cAAA;ELgPF;;EIzQA;ICyBE,cAAA;ELmPF;;EI5QA;ICyBE,cAAA;ELsPF;;EI/QA;ICyBE,cAAA;ELyPF;;EIlRA;ICyBE,cAAA;EL4PF;;EIrRA;ICyBE,cAAA;EL+PF;;EIxRA;ICyBE,cAAA;ELkQF;;EI3RA;ICyBE,cAAA;ELqQF;;EI9RA;ICyBE,cAAA;ELwQF;;EIjSA;ICyBE,cAAA;EL2QF;;EIpSA;ICyBE,cAAA;EL8QF;;EIvSA;ICyBE,cAAA;ELiRF;;EI1SA;ICyBE,cAAA;ELoRF;;EI7SA;ICyBE,cAAA;ELuRF;;EIhTA;ICyBE,cAAA;EL0RF;;EInTA;ICyBE,cAAA;EL6RF;;EItTA;ICyBE,cAAA;ELgSF;;EmBpTE;IdoBA,WAAA;ELmSF;;EoB3UA;;;IjByBA,eAAA;IAGE,mBAAA;EHqTF;;EqBzUA;IhBgCE,WAAA;IiBxCF,aAAA;EtBsVA;;EuBnVA;IlBqCE,cAAA;ELiTF;;EwB/UI;;;;InB8BF,cAAA;ELyTF;;EwBjVI;;;;InBwBF,cAAA;EL4TF;;EwB9UI;;;;InBkBF,cAAA;EL+TF;;EwB3UI;;;;;;;;InBYF,cAAA;ELsUF;;EwB3UA;InBKE,cAAA;ELyUF;;EwB3UE;InBEA,cAAA;EL4UF;;EwB1UE;InBFA,cAAA;EL+UF;;EwBzUE;InBNA,cAAA;ELkVF;;EwBvUI;;InBXF,cAAA;ELqVF;;EwBnUA;;InBlBE,WAAA;IFfF,eAAA;IAGE,mBAAA;EHqWF;;EwBjUE;InBxBA,cAAA;EL4VF;;EwBhUE;InB5BA,cAAA;EL+VF;;EwB/TE;InBhCA,cAAA;ELkWF;;EwB3TI;;;InBvCF,cAAA;ELuWF;;EwBvTM;;;InBhDJ,cAAA;EL4WF;;EwBpTE;InBxDA,cAAA;EL+WF;;EwBnTE;;InB5DA,yDAAA;ELkXF;;EwBjTE;;InBjEA,cAAA;ELqXF;;EwB/SE;;InBtEA,yDAAA;ELwXF;;EwB7SE;;InB3EA,cAAA;EL2XF;;EwB3SE;;InBhFA,yDAAA;EL8XF;;EwBzSE;;InBrFA,cAAA;ELiYF;;EyBpaA;IpBmCE,cAAA;EL2YF;;E0BvaE;IrB4BA,WAAA;EL8YF;;E0BtaE;IrBwBA,WAAA;ELiZF;;E0BraE;IrBoBA,2SAAA;ELoZF;;E2B5bA;;IxByBA,eAAA;IAGE,mBAAA;EHoaF;;E4BxbA;IvBgCE,cAAA;IwBxCF,aAAA;E7BqcA;;E4BvbI;IvB0BF,oTAAA;ELuaF;;E4B7bI;IvBsBF,gTAAA;EL4aF;;E8B7cA;IzBiCE,cAAA;ELsbF;;E8BpdE;IzB8BA,WAAA;ELybF;;E8BjdE;IzBwBA,cAAA;EL4bF;;E8BhdE;IzBoBA,gCAAA;EL+bF;;E+B7dA;I1B8BE,uDAAA;;I0BxBA;;;;;MAAA;IChBF,aAAA;EhCkfA;;EyB7eA;IpBmCE,cAAA;IAAA,iCAAA;ELqdF;;E+B/dI;;I1BUF,cAAA;ELgeF;;EIzfA;ICyBE,kDAAA;ELmeF;;EI5fA;ICyBE,iCAAA;ELseF;;EI/fA;ICyBE,2BAAA;ELyeF;;E+B/cE;;I1B1BA,cAAA;ELwfF;;EuB7hBA;;IlBqCE,cAAA;EL2fF;;EIphBA;;ICyBE,yBAAA;EL8fF;;E+BvdI;I1BvCF,yBAAA;ELmgBF;;EiCpiBA;I5BiCE,yDAAA;EL6gBF;;EU5iBI;IL+BF,yDAAA;ELghBF;;EU/iBI;IL+BF,yDAAA;ELmhBF;;EUljBI;IL+BF,yDAAA;ELshBF;;EUrjBI;IL+BF,yDAAA;ELyhBF;;EUxjBI;IL+BF,yDAAA;EL4hBF;;EU3jBI;IL+BF,yDAAA;EL+hBF;;EU9jBI;IL+BF,yDAAA;ELkiBF;;EUjkBI;IL+BF,yDAAA;ELqiBF;;EUpkBI;IL+BF,yDAAA;ELwiBF;;EUvkBI;IL+BF,yDAAA;EL2iBF;;EU1kBI;IL+BF,yDAAA;EL8iBF;;EU7kBI;IL+BF,yDAAA;ELijBF;;EUhlBI;IL+BF,yDAAA;ELojBF;;EUnlBI;IL+BF,yDAAA;ELujBF;;EUtlBI;IL+BF,yDAAA;EL0jBF;;EUzlBI;IL+BF,yDAAA;EL6jBF;;EU5lBI;IL+BF,yDAAA;ELgkBF;;EkChmBA;I7BgCE,iCAAA;;I6BzBA;;KAAA;ElCimBF;;EIjmBA;ICyBE,6EAAA;EL2kBF;;EkCjmBE;I7BsBA,4JAAA;IAAA,0BAAA;EL+kBF;;EkCjmBI;I7BkBF,yBAAA;IAAA,cAAA;ELmlBF;;EkChmBI;I7BaF,kKAAA;IAAA,sBAAA;IAAA,cAAA;ELwlBF;;Ee9mBS;IVsBP,cAAA;IAAA,yBAAA;EL4lBF;;EmC3nBA;I9B+BE,cAAA;ELimBF;;EuBtoBA;IlBqCE,yBAAA;IAAA,cAAA;ELqmBF;;Ec5oBE;ITuFA,yBAAA;ELwjBF;;Ec/oBE;ITuFA,yBAAA;EL2jBF;;EejoBS;;;;IVsBP,cAAA;EL8mBF;;EoC/oBA;I/BiCE,sBAAA;IgCxCF,aAAA;ErC2pBA;;EyBtpBA;IpBmCE,cAAA;ELsnBF;;EoC/oBE;I/ByBA,cAAA;ELynBF;;EsC1pBA;IA4CE,2DAAA;EtCsnBF;;EsCjqBE;IjCgCA,cAAA;ELooBF;;EsChqBE;IjC4BA,yDAAA;IAAA,sBAAA;IAAA,cAAA;ELyoBF;;EsC9pBE;IjCqBA,yBAAA;EL4oBF;;EsC9pBI;IjCkBF,sBAAA;EL+oBF;;EU9qBI;I4BgCA,2DAAA;EtCipBJ;;EsC9pBI;IjCYF,yDAAA;IAAA,yBAAA;ELspBF;;EsC7pBI;IjCOF,yBAAA;ELypBF;;EsC7pBM;IjCIJ,yBAAA;EL4pBF;;EsCxpBQ;IjCJN,yDAAA;EL+pBF;;EU9rBI;I4BgCA,2DAAA;EtCiqBJ;;EsC9qBI;IjCYF,yDAAA;IAAA,yBAAA;ELsqBF;;EsC7qBI;IjCOF,yBAAA;ELyqBF;;EsC7qBM;IjCIJ,yBAAA;EL4qBF;;EsCxqBQ;IjCJN,yDAAA;EL+qBF;;EU9sBI;I4BgCA,2DAAA;EtCirBJ;;EsC9rBI;IjCYF,yDAAA;IAAA,yBAAA;ELsrBF;;EsC7rBI;IjCOF,yBAAA;ELyrBF;;EsC7rBM;IjCIJ,yBAAA;EL4rBF;;EsCxrBQ;IjCJN,yDAAA;EL+rBF;;EU9tBI;I4BgCA,2DAAA;EtCisBJ;;EsC9sBI;IjCYF,yDAAA;IAAA,yBAAA;ELssBF;;EsC7sBI;IjCOF,yBAAA;ELysBF;;EsC7sBM;IjCIJ,yBAAA;EL4sBF;;EsCxsBQ;IjCJN,yDAAA;EL+sBF;;EU9uBI;I4BgCA,2DAAA;EtCitBJ;;EsC9tBI;IjCYF,yDAAA;IAAA,yBAAA;ELstBF;;EsC7tBI;IjCOF,yBAAA;ELytBF;;EsC7tBM;IjCIJ,yBAAA;EL4tBF;;EsCxtBQ;IjCJN,yDAAA;EL+tBF;;EU9vBI;I4BgCA,2DAAA;EtCiuBJ;;EsC9uBI;IjCYF,yDAAA;IAAA,yBAAA;ELsuBF;;EsC7uBI;IjCOF,yBAAA;ELyuBF;;EsC7uBM;IjCIJ,yBAAA;EL4uBF;;EsCxuBQ;IjCJN,yDAAA;EL+uBF;;EU9wBI;I4BgCA,2DAAA;EtCivBJ;;EsC9vBI;IjCYF,yDAAA;IAAA,yBAAA;ELsvBF;;EsC7vBI;IjCOF,yBAAA;ELyvBF;;EsC7vBM;IjCIJ,yBAAA;EL4vBF;;EsCxvBQ;IjCJN,yDAAA;EL+vBF;;EU9xBI;I4BgCA,2DAAA;EtCiwBJ;;EsC9wBI;IjCYF,yDAAA;IAAA,yBAAA;ELswBF;;EsC7wBI;IjCOF,yBAAA;ELywBF;;EsC7wBM;IjCIJ,yBAAA;EL4wBF;;EsCxwBQ;IjCJN,yDAAA;EL+wBF;;EU9yBI;I4BgCA,2DAAA;EtCixBJ;;EsC9xBI;IjCYF,yDAAA;IAAA,yBAAA;ELsxBF;;EsC7xBI;IjCOF,yBAAA;ELyxBF;;EsC7xBM;IjCIJ,yBAAA;EL4xBF;;EsCxxBQ;IjCJN,yDAAA;EL+xBF;;EU9zBI;I4BgCA,2DAAA;EtCiyBJ;;EsC9yBI;IjCYF,yDAAA;IAAA,yBAAA;ELsyBF;;EsC7yBI;IjCOF,yBAAA;ELyyBF;;EsC7yBM;IjCIJ,yBAAA;EL4yBF;;EsCxyBQ;IjCJN,yDAAA;EL+yBF;;EU90BI;I4BgCA,2DAAA;EtCizBJ;;EsC9zBI;IjCYF,yDAAA;IAAA,yBAAA;ELszBF;;EsC7zBI;IjCOF,yBAAA;ELyzBF;;EsC7zBM;IjCIJ,yBAAA;EL4zBF;;EsCxzBQ;IjCJN,yDAAA;EL+zBF;;EU91BI;I4BgCA,2DAAA;EtCi0BJ;;EsC90BI;IjCYF,yDAAA;IAAA,yBAAA;ELs0BF;;EsC70BI;IjCOF,yBAAA;ELy0BF;;EsC70BM;IjCIJ,yBAAA;EL40BF;;EsCx0BQ;IjCJN,yDAAA;EL+0BF;;EU92BI;I4BgCA,2DAAA;EtCi1BJ;;EsC91BI;IjCYF,yDAAA;IAAA,yBAAA;ELs1BF;;EsC71BI;IjCOF,yBAAA;ELy1BF;;EsC71BM;IjCIJ,yBAAA;EL41BF;;EsCx1BQ;IjCJN,yDAAA;EL+1BF;;EU93BI;I4BgCA,2DAAA;EtCi2BJ;;EsC92BI;IjCYF,yDAAA;IAAA,yBAAA;ELs2BF;;EsC72BI;IjCOF,yBAAA;ELy2BF;;EsC72BM;IjCIJ,yBAAA;EL42BF;;EsCx2BQ;IjCJN,yDAAA;EL+2BF;;EU94BI;I4BgCA,2DAAA;EtCi3BJ;;EsC93BI;IjCYF,yDAAA;IAAA,yBAAA;ELs3BF;;EsC73BI;IjCOF,yBAAA;ELy3BF;;EsC73BM;IjCIJ,yBAAA;EL43BF;;EsCx3BQ;IjCJN,yDAAA;EL+3BF;;EU95BI;I4BgCA,2DAAA;EtCi4BJ;;EsC94BI;IjCYF,yDAAA;IAAA,yBAAA;ELs4BF;;EsC74BI;IjCOF,yBAAA;ELy4BF;;EsC74BM;IjCIJ,yBAAA;EL44BF;;EsCx4BQ;IjCJN,yDAAA;EL+4BF;;EU96BI;I4BgCA,2DAAA;EtCi5BJ;;EsC95BI;IjCYF,yDAAA;IAAA,yBAAA;ELs5BF;;EsC75BI;IjCOF,yBAAA;ELy5BF;;EsC75BM;IjCIJ,yBAAA;EL45BF;;EsCx5BQ;IjCJN,yDAAA;EL+5BF;;EsCj5BM;IjCdJ,mDAAA;;IiCiBM,8CAAA;EtCk5BR;;EuC38BA;;IpCyBA,eAAA;IAGE,mBAAA;EHi8BF;;EwCr9BA;InCgCE,cAAA;IAAA,sBAAA;EL27BF;;EyC58BA;IpCiBE,cAAA;IAAA,yBAAA;EL+7BF;;Ect+BE;ITuFA,yBAAA;ELk5BF;;Ecz+BE;ITuFA,yBAAA;ELq5BF;;EwC59BE;InCuBA,cAAA;IAAA,yBAAA;ELy8BF;;Ech/BE;ITuFA,yBAAA;EL45BF;;Ecn/BE;ITuFA,yBAAA;EL+5BF;;EwC79BE;;;InCcA,cAAA;IAAA,yBAAA;ELq9BF;;Ec5/BE;;;ITuFA,yBAAA;EL06BF;;EcjgCE;;;ITuFA,yBAAA;EL+6BF;;EU9/BI;;;IL+BF,cAAA;IAAA,yBAAA;ELq+BF;;Ec5gCE;;;ITuFA,yBAAA;EL07BF;;EcjhCE;;;ITuFA,yBAAA;EL+7BF;;EU9gCI;;;IL+BF,cAAA;IAAA,yBAAA;ELq/BF;;Ec5hCE;;;ITuFA,yBAAA;EL08BF;;EcjiCE;;;ITuFA,yBAAA;EL+8BF;;EU9hCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqgCF;;Ec5iCE;;;ITuFA,yBAAA;EL09BF;;EcjjCE;;;ITuFA,yBAAA;EL+9BF;;EU9iCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqhCF;;Ec5jCE;;;ITuFA,yBAAA;EL0+BF;;EcjkCE;;;ITuFA,yBAAA;EL++BF;;EU9jCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqiCF;;Ec5kCE;;;ITuFA,yBAAA;EL0/BF;;EcjlCE;;;ITuFA,yBAAA;EL+/BF;;EU9kCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqjCF;;Ec5lCE;;;ITuFA,yBAAA;EL0gCF;;EcjmCE;;;ITuFA,yBAAA;EL+gCF;;EU9lCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqkCF;;Ec5mCE;;;ITuFA,yBAAA;EL0hCF;;EcjnCE;;;ITuFA,yBAAA;EL+hCF;;EU9mCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqlCF;;Ec5nCE;;;ITuFA,yBAAA;EL0iCF;;EcjoCE;;;ITuFA,yBAAA;EL+iCF;;EU9nCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqmCF;;Ec5oCE;;;ITuFA,yBAAA;EL0jCF;;EcjpCE;;;ITuFA,yBAAA;EL+jCF;;EU9oCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqnCF;;Ec5pCE;;;ITuFA,yBAAA;EL0kCF;;EcjqCE;;;ITuFA,yBAAA;EL+kCF;;EU9pCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqoCF;;Ec5qCE;;;ITuFA,yBAAA;EL0lCF;;EcjrCE;;;ITuFA,yBAAA;EL+lCF;;EU9qCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqpCF;;Ec5rCE;;;ITuFA,yBAAA;EL0mCF;;EcjsCE;;;ITuFA,yBAAA;EL+mCF;;EU9rCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqqCF;;Ec5sCE;;;ITuFA,yBAAA;EL0nCF;;EcjtCE;;;ITuFA,yBAAA;EL+nCF;;EU9sCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqrCF;;Ec5tCE;;;ITuFA,yBAAA;EL0oCF;;EcjuCE;;;ITuFA,yBAAA;EL+oCF;;EU9tCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqsCF;;Ec5uCE;;;ITuFA,yBAAA;EL0pCF;;EcjvCE;;;ITuFA,yBAAA;EL+pCF;;EU9uCI;;;IL+BF,cAAA;IAAA,yBAAA;ELqtCF;;Ec5vCE;;;ITuFA,yBAAA;EL0qCF;;EcjwCE;;;ITuFA,yBAAA;EL+qCF;;EU9vCI;;;IL+BF,cAAA;IAAA,yBAAA;ELquCF;;Ec5wCE;;;ITuFA,yBAAA;EL0rCF;;EcjxCE;;;ITuFA,yBAAA;EL+rCF;;EwC9uCM;;InCDJ,cAAA;IAAA,oGAAA;ELovCF;;Ec3xCE;;ITuFA,oGAAA;ELgtCF;;EcvyCE;;ITuFA,oGAAA;ELstCF;;EI/xCA;;ICyBE,cAAA;EL4wCF;;EelyCS;;IVsBP,oGAAA;ELkxCF;;EI3yCA;;ICyBE,cAAA;EL8xCF;;EwC3wCM;;InCnBJ,kGAAA;ELoyCF;;Ec30CE;;ITuFA,kGAAA;ELwvCF;;Ec/0CE;;ITuFA,kGAAA;EL4vCF;;Eel0CS;;IVsBP,kGAAA;ELgzCF;;Eet0CS;;IVsBP,cAAA;IAAA,yBAAA;ELuzCF;;EwCtxCE;InCjCA,cAAA;IAAA,yBAAA;EL6zCF;;EyC90CA;;IpCiBE,kGAAA;ELm0CF;;Ec12CE;;ITuFA,kGAAA;ELuxCF;;Ec92CE;;ITuFA,kGAAA;EL2xCF;;Eej2CS;;IVsBP,kGAAA;EL+0CF;;E0Ch3CA;IrCiCE,6NAAA;ELo1CF;;EI72CA;ICyBE,WAAA;ELu1CF;;E0Cj3CE;IrC0BA,6NAAA;EL01CF;;E0Ch3CE;IrCsBA,6NAAA;EL61CF;;E0C/2CE;IrCkBA,6NAAA;ELg2CF;;E0C92CE;IrCcA,6NAAA;ELm2CF;;E2Cp4CA;ItCiCE,sBAAA;IAAA,cAAA;ELy2CF;;E2Ct4CE;ItC6BA,yBAAA;IAAA,cAAA;EL62CF;;E4C14CI;IvC6BF,mFAAA;ELk3CF;;E4C14CM;IvCwBJ,mFAAA;ELq3CF;;E4Cv4CM;IvCkBJ,kIAAA;ELw3CF;;E4Cr4CQ;IvCaN,kIAAA;EL23CF;;E4C53CQ;IvCCN,mFAAA;EL83CF;;E4C33CQ;IvCHN,kIAAA;ELi4CF;;E4Cp3CQ;IvCbN,mFAAA;ELo4CF;;E4Cn3CQ;IvCjBN,kIAAA;ELu4CF;;E4C52CQ;IvC3BN,mFAAA;EL04CF;;E4C32CQ;IvC/BN,kIAAA;EL64CF;;E4Cp2CQ;IvCzCN,mFAAA;ELg5CF;;E4Cn2CQ;IvC7CN,kIAAA;ELm5CF;;E6Cj7CI;IxC8BF,gFAAA;ELs5CF;;E6C/6CM;IxCyBJ,gFAAA;ELy5CF;;E6C56CM;IxCmBJ,+HAAA;EL45CF;;E6C16CQ;IxCcN,+HAAA;EL+5CF;;E6Cj6CQ;IxCEN,gFAAA;ELk6CF;;E6Ch6CQ;IxCFN,+HAAA;ELq6CF;;E6Cz5CQ;IxCZN,gFAAA;ELw6CF;;E6Cx5CQ;IxChBN,+HAAA;EL26CF;;E6Cj5CQ;IxC1BN,gFAAA;EL86CF;;E6Ch5CQ;IxC9BN,+HAAA;ELi7CF;;E6Cz4CQ;IxCxCN,gFAAA;ELo7CF;;E6Cx4CQ;IxC5CN,+HAAA;ELu7CF;;E8Cr9CE;IzC8BA,4JAAA;IAAA,sBAAA;EL27CF;;E8Cn9CI;IzCwBF,4NAAA;IAAA,sBAAA;EL+7CF;;E8Cj9CM;IzCkBJ,4NAAA;ELk8CF;;E8C/8CQ;IzCaN,aAAA;ELq8CF;;E8C38CM;IzCMJ,mSAAA;ELw8CF;;E8C18CM;IzCEJ,8KAAA;EL28CF;;E8Cx8CQ;IzCHN,mSAAA;EL88CF;;E8Cv8CQ;IzCPN,8KAAA;ELi9CF;;E8C97CQ;IzCnBN,4NAAA;ELo9CF;;E8C77CQ;IzCvBN,mSAAA;ELu9CF;;E8Ct7CQ;IzCjCN,4NAAA;EL09CF;;E8Cr7CQ;IzCrCN,mSAAA;EL69CF;;E8C96CQ;IzC/CN,4NAAA;ELg+CF;;E8C76CQ;IzCnDN,mSAAA;ELm+CF;;E8Ct6CQ;IzC7DN,4NAAA;ELs+CF;;E8Cr6CQ;IzCjEN,2QAAA;ELy+CF;;E+CxgDA;I1C+BE,sBAAA;EL8+CF;;E+C1gDE;I1C4BA,4JAAA;ELi/CF;;E+CzgDE;I1CwBA,sBAAA;ELo/CF;;E+CxgDE;I1CoBA,sBAAA;ELu/CF;;E+CvgDE;I1CgBA,sBAAA;ELigDF;;E+CxgDI;I1COF,yBAAA;ELihDF;;E+CnhDE;I1CEA,WAAA;I2ClCA,4BAAA;EhDwjDF;;E+CphDE;I1CFA,cAAA;EL2hDF;;E+CthDI;I1CLF,cAAA;EL8hDF;;EepjDS;;IVsBP,cAAA;IAAA,yBAAA;ELkiDF;;EgD1kDA;;I7CyBA,eAAA;IAGE,mBAAA;EHojDF;;EIjkDA;ICyBE,yiCAAA;ELgjDF;;EIzkDA;ICyBE,sDAAA;IAAA,y9BAAA;;I4CNA,4MAAA;EjD2jDF;;Ec5lDE;ImCwCE,4MAAA;EjDujDJ;;EIjlDA;ICyBE,y8BAAA;EL2jDF;;EIplDA;ICyBE,iDAAA;;I4CNA,4MAAA;EjDqkDF;;EctmDE;ImCwCE,yMAAA;EjDikDJ;;EkDzjDM;;I7CTJ,cAAA;ELskDF;;EI/lDA;;ICyBE,y2BAAA;EL0kDF;;EInmDA;ICyBE,yBAAA;EL6kDF;;EkDnjDM;;I7C1BJ,cAAA;ELilDF;;EI1mDA;;ICyBE,y4BAAA;ELqlDF;;EI9mDA;ICyBE,yBAAA;ELwlDF;;EIjnDA;ICyBE,y2BAAA;EL2lDF;;EIpnDA;ICyBE,y4BAAA;EL8lDF;;EmD7nDE;I9C+BA,cAAA;ELmmDF;;EI5nDA;ICyBE,cAAA;IDtBE,WgDjBc;IhDqBd,cAAA;IDGJ,eAAA;IAGE,mBAAA;EHknDF;;EI/nDA;ICyBE,cAAA;IAAA,mCAAA;IAAA,sBAAA;ELknDF;;EmDloDE;I9CgBA,mCAAA;ELunDF;;EmDpoDI;I9CaF,yBAAA;EL0nDF;;EehpDS;IVsBP,mCAAA;ELyoDF;;EmDvoDM;I9CFJ,yBAAA;EL4oDF;;EIrqDA;ICyBE,cAAA;EL2pDF;;EIprDA;ICyBE,cAAA;IAAA,mCAAA;ELsqDF;;EmDzoDE;I9C7BA,WAAA;IFfF,eAAA;IAGE,mBAAA;EHurDF;;EmD1oDE;I9CjCA,iCAAA;ELgrDF;;EmDxoDE;;I9CxCA,cAAA;ELsrDF;;EI/sDA;;ICyBE,cAAA;EL0rDF;;EIntDA;;ICyBE,mCAAA;ELssDF;;EmDpoDE;;I9ClEA,cAAA;ELktDF;;EI3uDA;;ICyBE,cAAA;ELstDF;;EI/uDA;;ICyBE,mCAAA;ELkuDF;;EqDnwDA;IhDiCE,sBAAA;ELyvDF;;EsDlyDF;IACE,aAAA;EtDoyDA;;EuD5xDA;IlDgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;;IkDGA;;KAAA;;IAOA;;;KAAA;EvDgwDF;;EuDnyDE;;IlDyBA,oCAAA;ELoxDF;;EuDxyDE;;IlDoBA,oCAAA;ELyxDF;;EIlzDA;ICyBE,yDAAA;EL8xDF;;EIvzDA;ICyBE,yDAAA;ELmyDF;;EI5zDA;ICyBE,yDAAA;ELwyDF;;Ee9zDS;IVsBP,cAAA;IAAA,oCAAA;EL8yDF;;EuDhyDE;;;IlDdA,gEAAA;IAAA,gCAAA;ELyzDF;;EwD11DA;InDiCE,sBAAA;IAAA,yDAAA;EL+zDF;;EIx1DA;ICyBE,cAAA;ELk0DF;;EyBr2DA;IpBmCE,cAAA;ELq0DF;;EUp2DI;IL+BF,yDAAA;IAAA,yBAAA;ELy0DF;;EUx2DI;IL+BF,yDAAA;IAAA,yBAAA;EL60DF;;EU52DI;IL+BF,yDAAA;IAAA,yBAAA;ELi1DF;;EUh3DI;IL+BF,yDAAA;IAAA,yBAAA;ELq1DF;;EUp3DI;IL+BF,yDAAA;IAAA,yBAAA;ELy1DF;;EUx3DI;IL+BF,yDAAA;IAAA,yBAAA;EL61DF;;EU53DI;IL+BF,yDAAA;IAAA,yBAAA;ELi2DF;;EUh4DI;IL+BF,yDAAA;IAAA,yBAAA;ELq2DF;;EUp4DI;IL+BF,yDAAA;IAAA,yBAAA;ELy2DF;;EUx4DI;IL+BF,yDAAA;IAAA,yBAAA;EL62DF;;EU54DI;IL+BF,yDAAA;IAAA,yBAAA;ELi3DF;;EUh5DI;IL+BF,yDAAA;IAAA,yBAAA;ELq3DF;;EUp5DI;IL+BF,yDAAA;IAAA,yBAAA;ELy3DF;;EUx5DI;IL+BF,yDAAA;IAAA,yBAAA;EL63DF;;EU55DI;IL+BF,yDAAA;IAAA,yBAAA;ELi4DF;;EUh6DI;IL+BF,yDAAA;IAAA,yBAAA;ELq4DF;;EUp6DI;IL+BF,yDAAA;IAAA,yBAAA;ELy4DF;;EyBt6DA;IpB6BE,sBAAA;EL84DF;;EyDz6DE;IpD2BA,cAAA;ELw5DF;;EyD/6DE;IpDuBA,sBAAA;EL65DF;;EyD/6DI;IpDkBF,mDAAA;ELk6DF;;E0D38DF;IACE,aAAA;E1D+8DA;;E2Dh9DF;IACE,aAAA;E3Do9DA;;E4D58DE;IvDgCA,cAAA;IAAA,gCAAA;ELk7DF;;Eex8DS;;IVsBP,cAAA;IAAA,mCAAA;ELm8DF;;E4D/9DE;IvD4BA,WAAA;ELm9DF;;E6D5/DF;IACE,aAAA;E7DggEA;;E8Dz/DA;IzDiCE,0DAAA;I0DxCF,aAAA;E/DqgEA;;E8D3/DE;IzD8BA,cAAA;ELg+DF;;E8D1/DE;IzD0BA,cAAA;ELm+DF;;E8Dz/DE;IzDsBA,yBAAA;ELs+DF;;E8Dx/DE;IzDkBA,gCAAA;ELy+DF;;E8Dz/DI;IzDgBF,WAAA;EL4+DF;;EIrgEA;ICyBE,gCAAA;EL++DF;;E8Dp/DE;IzDKA,WAAA;ELk/DF;;E8Dn/DE;IzDCA,WAAA;ELq/DF;;E8Dl/DE;IzDHA,gCAAA;ELw/DF;;E8Dl/DI;IzDNF,cAAA;EL2/DF;;E8Dj/DI;IzDVF,sBAAA;IAAA,gCAAA;EL+/DF;;EgE9hEA;I3D+BE,sBAAA;ELugEF;;EgEniEE;I3D4BA,4JAAA;EL0gEF;;EgEliEE;I3DwBA,sBAAA;EL6gEF;;EgEjiEE;I3DoBA,sBAAA;ELghEF;;EgEhiEE;I3DgBA,sBAAA;EL0hEF;;EgEliEE;I3DQA,cAAA;EL0iEF;;EehkES;;IVsBP,cAAA;IAAA,yBAAA;EL8iEF;;EIvkEA;ICyBE,yDAAA;ELijEF;;EgEjjEI;I3DAF,cAAA;ELojEF;;EI7kEA;ICyBE,yDAAA;ELujEF;;EgEhjEM;I3DPJ,cAAA;EL0jEF;;EInlEA;ICyBE,yDAAA;EL6jEF;;EiEnmEA;;;;;;;;I9DuBA,eAAA;IAGE,mBAAA;EHolEF;;EkEvmEI;I7D+BF,cAAA;IAAA,yBAAA;EL8kEF;;EmEjlEA;IACE,mCAAA;EnEmlEF;;EmEhlEA;IACE,oCAAA;EnEklEF;;EoE5nEA;IjEyBA,eAAA;IAGE,mBAAA;EH2mEF;;EIxnEA;ICyBE,gCAAA;ELomEF;;EqEhoEE;IhE4BA,cAAA;ELumEF;;EqEhoEI;IhEyBF,yBAAA;EL0mEF;;EInoEA;ICyBE,gCAAA;EL6mEF;;EItoEA;ICyBE,gCAAA;ELgnEF;;EIzoEA;ICyBE,gCAAA;ELmnEF;;EsE5pEF;IACE,aAAA;EtE8pEA;;EuEtpEA;IlEgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;EL6nEF;;EwEtpEA;InEyBE,WAAA;ELgoEF;;EwEnpEA;InEmBE,yBAAA;ELmoEF;;Ec1qEE;ITuFA,yBAAA;ELslEF;;Ec7qEE;ITuFA,yBAAA;ELylEF;;Ee/pES;IVsBP,gCAAA;IAAA,wDAAA;EL6oEF;;EyEhrEA;;;;;;IpEmCE,gEAAA;IAAA,gCAAA;ELipEF;;EuEhpEI;IlEDF,oCAAA;ELopEF;;EuE5oEI;;;;IlERF,oCAAA;ELypEF;;EuEzoEI;;;;IlEhBF,oCAAA;EL8pEF;;EIvrEA;ICyBE,yDAAA;ELiqEF;;EI1rEA;ICyBE,yDAAA;ELoqEF;;EI7rEA;ICyBE,yDAAA;ELuqEF;;E0EvsEE;IrEgCA,oCAAA;EL4qEF;;E0EzsEI;IrE6BF,oCAAA;EL+qEF;;E0ExsEI;IrEyBF,oCAAA;ELkrEF;;E2EltEE;;ItEgCA,WAAA;EL6rEF;;E4EruEA;IzEyBA,eAAA;IAGE,mBAAA;EH6sEF;;E6EnuEE;ICKF,eAAA;IACA,mBAFc;IAsBd,YAAA;E9E8sEA;;EI/tEA;;I2E0BE,iBAAA;E/EwsEF;;EgFzuEA;I3EgCE,sBAAA;EL8sEF;;EgF1uEA;I3E4BE,yBAAA;IAAA,gCAAA;I4EvCA,aAAA;EjFyvEF;;EgFxuEA;;I3EsBE,iCAAA;IAAA,cAAA;EL8tEF;;EIvvEA;;ICyBE,gCAAA;ELkuEF;;EgFzuEE;I3EOA,cAAA;ELuuEF;;EgFruEE;I3EFA,cAAA;ELkvEF;;EkFtxEF;;IAAA;;EAWA;;IAAA;ECRE;I9EiCE,yBAAA;ELkwEF;;EmFhyEE;I9E8BA,sBAAA;ELqwEF;;EmF/xEE;I9E0BA,cAAA;ELwwEF;;EmF7xEI;I9EqBF,WAAA;EL2wEF;;EmF1xEI;I9EeF,cAAA;EL8wEF;;EepyES;;IVsBP,cAAA;EL8xEF;;EmFxyEE;I9EUA,8BAAA;EL8yEF;;EoF70EE;I/E+BA,cAAA;ELwzEF;;Ee90ES;;IVsBP,cAAA;ELw0EF;;EoF31EM;I/EmBJ,cAAA;EL61EF;;EIt3EA;ICyBE,yiCAAA;ELg2EF;;EqF93EE;IhF8BA,sBAAA;IiFxBA,iBAAA;EtF63EF;;EqF/3EE;IhF0BA,cAAA;IAAA,gCAAA;IiFhBA,gBAAA;EtFg4EF;;EIz4EA;ICyBE,gCAAA;EL04EF;;EqF94EI;IhFIF,cAAA;EL64EF;;Een6ES;;IVsBP,cAAA;EL65EF;;EqF15EI;IhFHF,cAAA;ELk7EF;;Eex8ES;;IVsBP,cAAA;ELk8EF;;EqF17EM;IhFRJ,cAAA;IAAA,gCAAA;ELm9EF;;Eez+ES;;IVsBP,cAAA;IAAA,mCAAA;ELo+EF;;EyBvgFA;IpBmCE,cAAA;ELo/EF;;EqF/9EI;IhFrBF,cAAA;ELu/EF;;Ee7gFS;;IVsBP,cAAA;ELugFF;;EqF/+EM;IhFxBJ,cAAA;IAAA,gCAAA;ELwhFF;;Ee9iFS;;IVsBP,cAAA;IAAA,mCAAA;ELyiFF;;EqFrgFE;IhFpCA,sBAAA;EL8jFF;;EsFtmFA;IACE,aAAA;EtF0mFF;;EsFtmFE;I9E2BA,UAfE;ER6lFJ;;EsFrmFE;;IAEE,aAAA;EtFumFJ;;EsFhmFE;IACE,WAAA;EtFqmFJ;AAnnFF;AuFGI;E1EOA;IRwGE,6BAAA;ELgCJ;;EK7BM;IACE,qCAAA;EL+BR;;EK5BM;IACE,oCAAA;EL8BR;;Ee3IS;;IVqGL,6BAAA;ELiDJ;;EK9CM;;IACE,qCAAA;ELgDR;;EK7CM;;IACE,oCAAA;EL+CR;;Ea1JE;;IRmGE,6BAAA;ELkEJ;;EK/DM;;IACE,qCAAA;ELiER;;EK9DM;;IACE,oCAAA;ELgER;;Ee7KS;;;;IVqGL,6BAAA;ELmFJ;;EKhFM;;;;IACE,qCAAA;ELkFR;;EK/EM;;;;IACE,oCAAA;ELiFR;;EatLE;;;;;;;IR6FE,6BAAA;ELmGJ;;EKhGM;;;;;;;IACE,qCAAA;ELkGR;;EK/FM;;;;;;;IACE,oCAAA;ELiGR;;Ee9MS;;;;;;;;;;;;;;IVqGL,6BAAA;ELmHJ;;EKhHM;;;;;;;;;;;;;;IACE,qCAAA;ELkHR;;EK/GM;;;;;;;;;;;;;;IACE,oCAAA;ELiHR;;E4BrOE;I4DHI,aAAA;ExFkcN;;EsChZQ;IjC6DJ,6BAAA;ELy1BJ;;EKt1BM;IACE,qCAAA;ELw1BR;;EKr1BM;IACE,oCAAA;ELu1BR;;EwC76BM;;InC8EF,6BAAA;EL2qCJ;;EehxCS;;IVqGL,6BAAA;ELysCJ;;E+C5yCE;IyCZI,YAAA;ExF4hDN;;E+CxgDE;I1C2FE,6BAAA;ELu7CJ;;EKp7CM;IACE,qCAAA;ELs7CR;;EKn7CM;IACE,oCAAA;ELq7CR;;EIriDA;I6CcM,8PAAA;EjDsnDN;;EIpoDA;I6CcM,4PAAA;EjD0oDN;;EIxpDA;I6CcM,0NAAA;EjD+oDN;;EI7pDA;I6CcM,4PAAA;EjD4pDN;;EI1qDA;I6CcM,0NAAA;EjDiqDN;;EI/qDA;I6CcM,8PAAA;EjD2qDN;;EIzrDA;;I6CcM,8PAAA;EjD2sDN;;EIztDA;;I6CcM,4PAAA;EjDutDN;;EIruDA;;I6CcM,8PAAA;EjDuuDN;;EIrvDA;;I6CcM,4PAAA;EjDmvDN;;EuDxwDA;INqBM,6OAAA;EjD0xDN;;EeryDS;IkCWH,6OAAA;EjD8zDN;;EyBh1DA;I+DHM,aAAA;ExFm7DN;;E4Dn7DE;IvD+GE,6BAAA;ELw2DJ;;EKr2DM;IACE,qCAAA;ELu2DR;;EKp2DM;IACE,oCAAA;ELs2DR;;Een9DS;;IVqGL,6BAAA;ELy3DJ;;EKt3DM;;IACE,qCAAA;ELw3DR;;EKr3DM;;IACE,oCAAA;ELu3DR;;EgEl+DE;IwBZI,YAAA;ExFqjEN;;EgEjiEE;I3D2FE,6BAAA;ELg9DJ;;EK78DM;IACE,qCAAA;EL+8DR;;EK58DM;IACE,oCAAA;EL88DR;;EkE5jEI;I7D6PE,gBAAA;ELm3DN;;E0E9mEI;IzBUE,wZAAA;EjDksEN;;EgFntEA;IQJM,aAAA;ExFuvEN;;EgF1tEE;;I3EyOI,gBAAA;ELugEN;;EmF5vEI;I9E8FA,6BAAA;ELosEJ;;EKjsEM;IACE,qCAAA;ELmsER;;EKhsEM;IACE,oCAAA;ELksER;;Ee/yES;;IVqGL,6BAAA;ELotEJ;;EKjtEM;;IACE,qCAAA;ELmtER;;EKhtEM;;IACE,oCAAA;ELktER;;EoFx0EE;I/E8GE,6BAAA;EL8uEJ;;EK3uEM;IACE,qCAAA;EL6uER;;EK1uEM;IACE,oCAAA;EL4uER;;Eez1ES;;IVqGL,6BAAA;EL8vEJ;;EK3vEM;;IACE,qCAAA;EL6vER;;EK1vEM;;IACE,oCAAA;EL4vER;;EI52EA;I6CcM,+ZAAA;EjDm2EN;;EqFt3EE;IGFI,YAAA;ExF04EN;;EqF92EI;IhFmFA,6BAAA;IAuJE,gBAAA;EL4qEN;;EKh0EM;IACE,qCAAA;ELk0ER;;EK/zEM;IACE,oCAAA;ELi0ER;;Ee96ES;;IVqGL,6BAAA;ELm1EJ;;EKh1EM;;IACE,qCAAA;ELk1ER;;EK/0EM;;IACE,oCAAA;ELi1ER;;EqFr6EI;IhF4EA,6BAAA;ELw2EJ;;EKr2EM;IACE,qCAAA;ELu2ER;;EKp2EM;IACE,oCAAA;ELs2ER;;Een9ES;;IVqGL,6BAAA;ELw3EJ;;EKr3EM;;IACE,qCAAA;ELu3ER;;EKp3EM;;IACE,oCAAA;ELs3ER;;EqFr8EM;IhFuEF,6BAAA;ELy4EJ;;EKt4EM;IACE,qCAAA;ELw4ER;;EKr4EM;IACE,oCAAA;ELu4ER;;Eep/ES;;IVqGL,6BAAA;EL05EJ;;EKv5EM;;IACE,qCAAA;ELy5ER;;EKt5EM;;IACE,oCAAA;ELw5ER;;EqF19EI;IhF0DA,6BAAA;EL66EJ;;EK16EM;IACE,qCAAA;EL46ER;;EKz6EM;IACE,oCAAA;EL26ER;;EexhFS;;IVqGL,6BAAA;EL67EJ;;EK17EM;;IACE,qCAAA;EL47ER;;EKz7EM;;IACE,oCAAA;EL27ER;;EqF1/EM;IhFuDF,6BAAA;EL88EJ;;EK38EM;IACE,qCAAA;EL68ER;;EK18EM;IACE,oCAAA;EL48ER;;EezjFS;;IVqGL,6BAAA;EL+9EJ;;EK59EM;;IACE,qCAAA;EL89ER;;EK39EM;;IACE,oCAAA;EL69ER;AA97EF;AuFtJI;ExDEF;I1BoQM,gBAAA;ELyON;;EyBlfA;IpByQM,gBAAA;ELoPN;AAVF;AyF1eI;E1DsCA;I1BZA,iCAAA;EL8eF;;E+B1dM;I1BpBJ,gCAAA;ELmfF;;EmF7fE;I9EUA,8BAAA;ELmzEF;AAp0DF;AyFzgBI;EJLF;IhF+BE,sBAAA;ELq3EF;;EqFv1EE;IhF9BA,gCAAA;ELyjFF;AAnMF;AuFt5EI;EFCF;IGDM,YAAA;ExF05EN;;EqF54EI;IKhBA,aAAA;IACA,uBAAA;E1Fi6EJ;;EqF94EI;IhFoPE,gBAAA;EL+pEN;AAVF","file":"component.print.css","sourcesContent":[null,"@charset \"UTF-8\";\n@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}\n@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}\n@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}\n@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}\n@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}\n@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}\n@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}\n@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}\n@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}\n@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}\n@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}\n@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}\n@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}\n@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}\n@media print {\n .fr-navigation {\n display: none;\n }\n}\n@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}\n@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}\n@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}\n@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}\n@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}\n@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","////\n/// Upload Print\n/// @group upload\n////\n\n@media print {\n @import 'index';\n @import 'style/print';\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","#{ns(skiplink)} {\n display: none;\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(modal)} {\n display: none;\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","#{ns(footer)} {\n display: none;\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Follow Tool\n/// @group follow\n////\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image($icon, before);\n }\n }\n}\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons-legacy() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image-legacy($icon, before);\n }\n }\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/component.print.min.css b/design_system_admin/dsfr/component/component.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..a5a25d8cd303e00c1cf8960382d1a2f08337fad1 --- /dev/null +++ b/design_system_admin/dsfr/component/component.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-upload{font-size:1rem;line-height:1.5rem}.fr-accordion:before{box-shadow:inset 0 1px 0 0 #ddd,0 1px 0 0 #ddd}.fr-accordion__btn{color:#000091}.fr-accordion__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-accordion__btn:after{transform:rotate(-180deg)}.fr-accordion .fr-collapse:not(.fr-collapse--expanded){--collapse-max-height:none!important;--collapse:inherit!important;padding:1rem;visibility:visible}.fr-badge{background-color:#eee;color:#3a3a3a}.fr-badge--info{background-color:#e8edff;color:#0063cb}.fr-badge--error{background-color:#ffe9e9;color:#ce0500}.fr-badge--success{background-color:#b8fec9;color:#18753c}.fr-badge--warning{background-color:#ffe9e6;color:#b34000}.fr-badge--new{background-color:#feebd0;color:#695240}.fr-badge--green-tilleul-verveine{background-color:#fceeac;color:#66673d}.fr-badge--green-bourgeon{background-color:#c9fcac;color:#447049}.fr-badge--green-emeraude{background-color:#c3fad5;color:#297254}.fr-badge--green-menthe{background-color:#bafaee;color:#37635f}.fr-badge--green-archipel{background-color:#c7f6fc;color:#006a6f}.fr-badge--blue-ecume{background-color:#e9edfe;color:#2f4077}.fr-badge--blue-cumulus{background-color:#e6eefe;color:#3558a2}.fr-badge--purple-glycine{background-color:#fee7fc;color:#6e445a}.fr-badge--pink-macaron{background-color:#fee9e6;color:#8d533e}.fr-badge--pink-tuile{background-color:#fee9e7;color:#a94645}.fr-badge--yellow-tournesol{background-color:#feecc2;color:#716043}.fr-badge--yellow-moutarde{background-color:#feebd0;color:#695240}.fr-badge--orange-terre-battue{background-color:#fee9e5;color:#755348}.fr-badge--brown-cafe-creme{background-color:#f7ecdb;color:#685c48}.fr-badge--brown-caramel{background-color:#f7ebe5;color:#845d48}.fr-badge--brown-opera{background-color:#f7ece4;color:#745b47}.fr-badge--beige-gris-galet{background-color:#f3ede5;color:#6a6156}.fr-logo{color:#000}.fr-logo:after{background-position:0 calc(100% + 1.875rem)!important}.fr-btn{background-color:#000091;color:#f5f5fe}.fr-btn:hover{background-color:#1212ff}.fr-btn:active{background-color:#2323ff}.fr-btn:disabled,a.fr-btn:not([href]){background-color:#e5e5e5;color:#929292}.fr-btn--secondary{box-shadow:inset 0 0 0 1px #000091;color:#000091}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--account,.fr-btn--tertiary{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{color:#000091}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){color:#929292}.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--secondary,.fr-btn--tertiary,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}.fr-connect{background-color:#000091;color:#f5f5fe}.fr-connect:disabled,a.fr-connect:not([href]){background-color:#e5e5e5;color:#929292}.fr-connect-group .fr-connect+p a{color:#000091;font-size:1rem;line-height:1.5rem}.fr-connect-group p{color:#666;font-size:1rem;line-height:1.5rem}.fr-quote{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-quote:before{color:#6a6af4}.fr-quote--green-tilleul-verveine:before{color:#b7a73f}.fr-quote--green-bourgeon:before{color:#68a532}.fr-quote--green-emeraude:before{color:#00a95f}.fr-quote--green-menthe:before{color:#009081}.fr-quote--green-archipel:before{color:#009099}.fr-quote--blue-ecume:before{color:#465f9d}.fr-quote--blue-cumulus:before{color:#417dc4}.fr-quote--purple-glycine:before{color:#a558a0}.fr-quote--pink-macaron:before{color:#e18b76}.fr-quote--pink-tuile:before{color:#ce614a}.fr-quote--yellow-tournesol:before{color:#c8aa39}.fr-quote--yellow-moutarde:before{color:#c3992a}.fr-quote--orange-terre-battue:before{color:#e4794a}.fr-quote--brown-cafe-creme:before{color:#d1b781}.fr-quote--brown-caramel:before{color:#c08c65}.fr-quote--brown-opera:before{color:#bd987a}.fr-quote--beige-gris-galet:before{color:#aea397}.fr-quote__source{color:#666}.fr-quote cite,.fr-quote figcaption li,.fr-quote__author{font-size:1rem;line-height:1.5rem}.fr-breadcrumb{color:#666;display:none}.fr-breadcrumb__link[aria-current]:not([aria-current=false]){color:#3a3a3a}.fr-input-group--valid label,.fr-range-group--valid label,.fr-select-group--valid label,.fr-upload-group--valid label{color:#18753c}.fr-input-group--error label,.fr-range-group--error label,.fr-select-group--error label,.fr-upload-group--error label{color:#ce0500}.fr-input-group--info label,.fr-range-group--info label,.fr-select-group--info label,.fr-upload-group--info label{color:#0063cb}.fr-input-group--disabled .fr-hint-text,.fr-input-group--disabled label,.fr-range-group--disabled .fr-hint-text,.fr-range-group--disabled label,.fr-select-group--disabled .fr-hint-text,.fr-select-group--disabled label,.fr-upload-group--disabled .fr-hint-text,.fr-upload-group--disabled label{color:#929292}.fr-label{color:#161616}.fr-label--error{color:#ce0500}.fr-label--success{color:#18753c}.fr-label--info{color:#0063cb}.fr-label--disabled,.fr-label--disabled .fr-hint-text{color:#929292}.fr-hint-text,.fr-message{color:#666;font-size:1rem;line-height:1.5rem}.fr-message--error{color:#ce0500}.fr-message--valid{color:#18753c}.fr-message--info{color:#0063cb}.fr-fieldset input:disabled+label,.fr-fieldset input:disabled+label .fr-hint-text,.fr-fieldset input:disabled+label+.fr-hint-text,.fr-fieldset:disabled .fr-fieldset__legend,.fr-fieldset:disabled .fr-hint-text,.fr-fieldset:disabled .fr-label{color:#929292}.fr-fieldset__legend{color:#161616}.fr-fieldset--error,.fr-fieldset--error .fr-fieldset__legend{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-fieldset--error .fr-fieldset__legend,.fr-fieldset--error .fr-label{color:#ce0500}.fr-fieldset--valid,.fr-fieldset--valid .fr-fieldset__legend{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-fieldset--valid .fr-fieldset__legend,.fr-fieldset--valid .fr-label{color:#18753c}.fr-fieldset--info,.fr-fieldset--info .fr-fieldset__legend{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-fieldset--info .fr-fieldset__legend,.fr-fieldset--info .fr-label{color:#0063cb}.fr-stepper__title{color:#161616}.fr-stepper__details,.fr-stepper__state{color:#666}.fr-stepper__steps{background-image:repeating-linear-gradient(to right,#000091 0,#000091 var(--active-inner),transparent var(--active-inner),transparent var(--active-outer)),repeating-linear-gradient(to right,#eee 0,#eee var(--default-inner),transparent var(--default-inner),transparent var(--default-outer))}.fr-stepper__details,.fr-stepper__state{font-size:1rem;line-height:1.5rem}.fr-tooltip{color:#3a3a3a;display:none}.fr-tooltip.fr-placement--top{background-image:conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}.fr-tooltip.fr-placement--bottom{background-image:conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}.fr-link{color:#000091}.fr-link__detail{color:#666}.fr-links-group li::marker{color:#000091}.fr-links-group--bordered{box-shadow:inset 0 0 0 1px #ddd}.fr-sidemenu{box-shadow:inset 0 -1px 0 0 #ddd,inset 0 1px 0 0 #ddd;display:none}.fr-sidemenu__title{box-shadow:inset 0 -1px 0 0 #ddd;color:#161616}.fr-sidemenu__item .fr-sidemenu__btn,.fr-sidemenu__item .fr-sidemenu__link{color:#161616}.fr-sidemenu__item:before{box-shadow:0 -1px 0 0 #ddd,inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:first-child:before{box-shadow:inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:last-child:before{box-shadow:0 -1px 0 0 #ddd}.fr-sidemenu__btn,.fr-sidemenu__btn[aria-current]:not([aria-current=false]),.fr-sidemenu__link,.fr-sidemenu__link[aria-current]:not([aria-current=false]){color:#000091}.fr-sidemenu__btn[aria-current]:not([aria-current=false]):before,.fr-sidemenu__link[aria-current]:not([aria-current=false]):before{background-color:#000091}.fr-sidemenu__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-highlight{background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-highlight--green-tilleul-verveine{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-highlight--green-bourgeon{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-highlight--green-emeraude{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-highlight--green-menthe{background-image:linear-gradient(0deg,#009081,#009081)}.fr-highlight--green-archipel{background-image:linear-gradient(0deg,#009099,#009099)}.fr-highlight--blue-ecume{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-highlight--blue-cumulus{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-highlight--purple-glycine{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-highlight--pink-macaron{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-highlight--pink-tuile{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-highlight--yellow-tournesol{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-highlight--yellow-moutarde{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-highlight--orange-terre-battue{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-highlight--brown-cafe-creme{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-highlight--brown-caramel{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-highlight--brown-opera{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-highlight--beige-gris-galet{background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-tabs{box-shadow:inset 0 -1px 0 0 #ddd}.fr-tabs:before{box-shadow:inset 0 1px 0 0 #ddd,inset 1px 0 0 0 #ddd,inset -1px 0 0 0 #ddd}.fr-tabs__tab{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);box-shadow:0 2px 0 0 #fff}.fr-tabs__tab:not([aria-selected=true]){background-color:#e3e3fd;color:#161616}.fr-tabs__tab[aria-selected=true]:not(:disabled){background-color:#fff;background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);color:#000091}.fr-tabs__tab:disabled{background-color:#e5e5e5;color:#929292}.fr-pagination{color:#161616}.fr-pagination__link[aria-current]:not([aria-current=false]){background-color:#000091;color:#f5f5fe}.fr-pagination__link[aria-current]:not([aria-current=false]):hover{background-color:#1212ff}.fr-pagination__link[aria-current]:not([aria-current=false]):active{background-color:#2323ff}.fr-pagination__link:not([aria-current]):disabled,.fr-pagination__link[aria-current=false]:disabled,a.fr-pagination__link:not([aria-current]):not([href]),a.fr-pagination__link[aria-current=false]:not([href]){color:#929292}.fr-summary{background-color:#eee;display:none}.fr-summary li>a,.fr-summary__title{color:#161616}.fr-table caption{color:#161616}.fr-table thead{background-color:#eee;background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a);color:#161616}.fr-table tbody{background-color:#f6f6f6}.fr-table tbody tr:nth-child(2n){background-color:#eee}.fr-table--green-tilleul-verveine thead{background-color:#fceeac;background-image:linear-gradient(0deg,#66673d,#66673d)}.fr-table--green-tilleul-verveine tbody{background-color:#fef7da}.fr-table--green-tilleul-verveine tbody tr:nth-child(2n){background-color:#fceeac}.fr-table--green-tilleul-verveine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-table--green-bourgeon thead{background-color:#c9fcac;background-image:linear-gradient(0deg,#447049,#447049)}.fr-table--green-bourgeon tbody{background-color:#e6feda}.fr-table--green-bourgeon tbody tr:nth-child(2n){background-color:#c9fcac}.fr-table--green-bourgeon.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-table--green-emeraude thead{background-color:#c3fad5;background-image:linear-gradient(0deg,#297254,#297254)}.fr-table--green-emeraude tbody{background-color:#e3fdeb}.fr-table--green-emeraude tbody tr:nth-child(2n){background-color:#c3fad5}.fr-table--green-emeraude.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-table--green-menthe thead{background-color:#bafaee;background-image:linear-gradient(0deg,#37635f,#37635f)}.fr-table--green-menthe tbody{background-color:#dffdf7}.fr-table--green-menthe tbody tr:nth-child(2n){background-color:#bafaee}.fr-table--green-menthe.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009081,#009081)}.fr-table--green-archipel thead{background-color:#c7f6fc;background-image:linear-gradient(0deg,#006a6f,#006a6f)}.fr-table--green-archipel tbody{background-color:#e5fbfd}.fr-table--green-archipel tbody tr:nth-child(2n){background-color:#c7f6fc}.fr-table--green-archipel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009099,#009099)}.fr-table--blue-ecume thead{background-color:#e9edfe;background-image:linear-gradient(0deg,#2f4077,#2f4077)}.fr-table--blue-ecume tbody{background-color:#f4f6fe}.fr-table--blue-ecume tbody tr:nth-child(2n){background-color:#e9edfe}.fr-table--blue-ecume.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-table--blue-cumulus thead{background-color:#e6eefe;background-image:linear-gradient(0deg,#3558a2,#3558a2)}.fr-table--blue-cumulus tbody{background-color:#f3f6fe}.fr-table--blue-cumulus tbody tr:nth-child(2n){background-color:#e6eefe}.fr-table--blue-cumulus.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-table--purple-glycine thead{background-color:#fee7fc;background-image:linear-gradient(0deg,#6e445a,#6e445a)}.fr-table--purple-glycine tbody{background-color:#fef3fd}.fr-table--purple-glycine tbody tr:nth-child(2n){background-color:#fee7fc}.fr-table--purple-glycine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-table--pink-macaron thead{background-color:#fee9e6;background-image:linear-gradient(0deg,#8d533e,#8d533e)}.fr-table--pink-macaron tbody{background-color:#fef4f2}.fr-table--pink-macaron tbody tr:nth-child(2n){background-color:#fee9e6}.fr-table--pink-macaron.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-table--pink-tuile thead{background-color:#fee9e7;background-image:linear-gradient(0deg,#a94645,#a94645)}.fr-table--pink-tuile tbody{background-color:#fef4f3}.fr-table--pink-tuile tbody tr:nth-child(2n){background-color:#fee9e7}.fr-table--pink-tuile.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-table--yellow-tournesol thead{background-color:#feecc2;background-image:linear-gradient(0deg,#716043,#716043)}.fr-table--yellow-tournesol tbody{background-color:#fef6e3}.fr-table--yellow-tournesol tbody tr:nth-child(2n){background-color:#feecc2}.fr-table--yellow-tournesol.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-table--yellow-moutarde thead{background-color:#feebd0;background-image:linear-gradient(0deg,#695240,#695240)}.fr-table--yellow-moutarde tbody{background-color:#fef5e8}.fr-table--yellow-moutarde tbody tr:nth-child(2n){background-color:#feebd0}.fr-table--yellow-moutarde.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-table--orange-terre-battue thead{background-color:#fee9e5;background-image:linear-gradient(0deg,#755348,#755348)}.fr-table--orange-terre-battue tbody{background-color:#fef4f2}.fr-table--orange-terre-battue tbody tr:nth-child(2n){background-color:#fee9e5}.fr-table--orange-terre-battue.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-table--brown-cafe-creme thead{background-color:#f7ecdb;background-image:linear-gradient(0deg,#685c48,#685c48)}.fr-table--brown-cafe-creme tbody{background-color:#fbf6ed}.fr-table--brown-cafe-creme tbody tr:nth-child(2n){background-color:#f7ecdb}.fr-table--brown-cafe-creme.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-table--brown-caramel thead{background-color:#f7ebe5;background-image:linear-gradient(0deg,#845d48,#845d48)}.fr-table--brown-caramel tbody{background-color:#fbf5f2}.fr-table--brown-caramel tbody tr:nth-child(2n){background-color:#f7ebe5}.fr-table--brown-caramel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-table--brown-opera thead{background-color:#f7ece4;background-image:linear-gradient(0deg,#745b47,#745b47)}.fr-table--brown-opera tbody{background-color:#fbf5f2}.fr-table--brown-opera tbody tr:nth-child(2n){background-color:#f7ece4}.fr-table--brown-opera.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-table--beige-gris-galet thead{background-color:#f3ede5;background-image:linear-gradient(0deg,#6a6156,#6a6156)}.fr-table--beige-gris-galet tbody{background-color:#f9f6f2}.fr-table--beige-gris-galet tbody tr:nth-child(2n){background-color:#f3ede5}.fr-table--beige-gris-galet.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-table td,.fr-table th{font-size:1rem;line-height:1.5rem}.fr-tag{background-color:#eee;color:#161616}.fr-tag[aria-pressed=false]{background-color:#e3e3fd;color:#000091}.fr-tag[aria-pressed=false]:hover{background-color:#c1c1fb}.fr-tag[aria-pressed=false]:active{background-color:#adadf9}.fr-tag.fr-tag--dismiss{background-color:#000091;color:#f5f5fe}.fr-tag.fr-tag--dismiss:hover{background-color:#1212ff}.fr-tag.fr-tag--dismiss:active{background-color:#2323ff}a[href].fr-tag,button.fr-tag,input[type=button].fr-tag{background-color:#e3e3fd;color:#000091}a[href].fr-tag:hover,button.fr-tag:hover,input[type=button].fr-tag:hover{background-color:#c1c1fb}a[href].fr-tag:active,button.fr-tag:active,input[type=button].fr-tag:active{background-color:#adadf9}a[href].fr-tag--green-tilleul-verveine,button.fr-tag--green-tilleul-verveine,input[type=button].fr-tag--green-tilleul-verveine{background-color:#fbe769;color:#66673d}a[href].fr-tag--green-tilleul-verveine:hover,button.fr-tag--green-tilleul-verveine:hover,input[type=button].fr-tag--green-tilleul-verveine:hover{background-color:#d7c655}a[href].fr-tag--green-tilleul-verveine:active,button.fr-tag--green-tilleul-verveine:active,input[type=button].fr-tag--green-tilleul-verveine:active{background-color:#c2b24c}a[href].fr-tag--green-bourgeon,button.fr-tag--green-bourgeon,input[type=button].fr-tag--green-bourgeon{background-color:#a9fb68;color:#447049}a[href].fr-tag--green-bourgeon:hover,button.fr-tag--green-bourgeon:hover,input[type=button].fr-tag--green-bourgeon:hover{background-color:#8ed654}a[href].fr-tag--green-bourgeon:active,button.fr-tag--green-bourgeon:active,input[type=button].fr-tag--green-bourgeon:active{background-color:#7fc04b}a[href].fr-tag--green-emeraude,button.fr-tag--green-emeraude,input[type=button].fr-tag--green-emeraude{background-color:#9ef9be;color:#297254}a[href].fr-tag--green-emeraude:hover,button.fr-tag--green-emeraude:hover,input[type=button].fr-tag--green-emeraude:hover{background-color:#69df97}a[href].fr-tag--green-emeraude:active,button.fr-tag--green-emeraude:active,input[type=button].fr-tag--green-emeraude:active{background-color:#5ec988}a[href].fr-tag--green-menthe,button.fr-tag--green-menthe,input[type=button].fr-tag--green-menthe{background-color:#8bf8e7;color:#37635f}a[href].fr-tag--green-menthe:hover,button.fr-tag--green-menthe:hover,input[type=button].fr-tag--green-menthe:hover{background-color:#6ed5c5}a[href].fr-tag--green-menthe:active,button.fr-tag--green-menthe:active,input[type=button].fr-tag--green-menthe:active{background-color:#62bfb1}a[href].fr-tag--green-archipel,button.fr-tag--green-archipel,input[type=button].fr-tag--green-archipel{background-color:#a6f2fa;color:#006a6f}a[href].fr-tag--green-archipel:hover,button.fr-tag--green-archipel:hover,input[type=button].fr-tag--green-archipel:hover{background-color:#62dbe5}a[href].fr-tag--green-archipel:active,button.fr-tag--green-archipel:active,input[type=button].fr-tag--green-archipel:active{background-color:#58c5cf}a[href].fr-tag--blue-ecume,button.fr-tag--blue-ecume,input[type=button].fr-tag--blue-ecume{background-color:#dee5fd;color:#2f4077}a[href].fr-tag--blue-ecume:hover,button.fr-tag--blue-ecume:hover,input[type=button].fr-tag--blue-ecume:hover{background-color:#b4c5fb}a[href].fr-tag--blue-ecume:active,button.fr-tag--blue-ecume:active,input[type=button].fr-tag--blue-ecume:active{background-color:#99b3f9}a[href].fr-tag--blue-cumulus,button.fr-tag--blue-cumulus,input[type=button].fr-tag--blue-cumulus{background-color:#dae6fd;color:#3558a2}a[href].fr-tag--blue-cumulus:hover,button.fr-tag--blue-cumulus:hover,input[type=button].fr-tag--blue-cumulus:hover{background-color:#a9c8fb}a[href].fr-tag--blue-cumulus:active,button.fr-tag--blue-cumulus:active,input[type=button].fr-tag--blue-cumulus:active{background-color:#8ab8f9}a[href].fr-tag--purple-glycine,button.fr-tag--purple-glycine,input[type=button].fr-tag--purple-glycine{background-color:#fddbfa;color:#6e445a}a[href].fr-tag--purple-glycine:hover,button.fr-tag--purple-glycine:hover,input[type=button].fr-tag--purple-glycine:hover{background-color:#fbaff5}a[href].fr-tag--purple-glycine:active,button.fr-tag--purple-glycine:active,input[type=button].fr-tag--purple-glycine:active{background-color:#fa96f2}a[href].fr-tag--pink-macaron,button.fr-tag--pink-macaron,input[type=button].fr-tag--pink-macaron{background-color:#fddfda;color:#8d533e}a[href].fr-tag--pink-macaron:hover,button.fr-tag--pink-macaron:hover,input[type=button].fr-tag--pink-macaron:hover{background-color:#fbb8ab}a[href].fr-tag--pink-macaron:active,button.fr-tag--pink-macaron:active,input[type=button].fr-tag--pink-macaron:active{background-color:#faa18d}a[href].fr-tag--pink-tuile,button.fr-tag--pink-tuile,input[type=button].fr-tag--pink-tuile{background-color:#fddfdb;color:#a94645}a[href].fr-tag--pink-tuile:hover,button.fr-tag--pink-tuile:hover,input[type=button].fr-tag--pink-tuile:hover{background-color:#fbb8ad}a[href].fr-tag--pink-tuile:active,button.fr-tag--pink-tuile:active,input[type=button].fr-tag--pink-tuile:active{background-color:#faa191}a[href].fr-tag--yellow-tournesol,button.fr-tag--yellow-tournesol,input[type=button].fr-tag--yellow-tournesol{background-color:#fde39c;color:#716043}a[href].fr-tag--yellow-tournesol:hover,button.fr-tag--yellow-tournesol:hover,input[type=button].fr-tag--yellow-tournesol:hover{background-color:#e9c53b}a[href].fr-tag--yellow-tournesol:active,button.fr-tag--yellow-tournesol:active,input[type=button].fr-tag--yellow-tournesol:active{background-color:#d3b235}a[href].fr-tag--yellow-moutarde,button.fr-tag--yellow-moutarde,input[type=button].fr-tag--yellow-moutarde{background-color:#fde2b5;color:#695240}a[href].fr-tag--yellow-moutarde:hover,button.fr-tag--yellow-moutarde:hover,input[type=button].fr-tag--yellow-moutarde:hover{background-color:#f6c43c}a[href].fr-tag--yellow-moutarde:active,button.fr-tag--yellow-moutarde:active,input[type=button].fr-tag--yellow-moutarde:active{background-color:#dfb135}a[href].fr-tag--orange-terre-battue,button.fr-tag--orange-terre-battue,input[type=button].fr-tag--orange-terre-battue{background-color:#fddfd8;color:#755348}a[href].fr-tag--orange-terre-battue:hover,button.fr-tag--orange-terre-battue:hover,input[type=button].fr-tag--orange-terre-battue:hover{background-color:#fbb8a5}a[href].fr-tag--orange-terre-battue:active,button.fr-tag--orange-terre-battue:active,input[type=button].fr-tag--orange-terre-battue:active{background-color:#faa184}a[href].fr-tag--brown-cafe-creme,button.fr-tag--brown-cafe-creme,input[type=button].fr-tag--brown-cafe-creme{background-color:#f4e3c7;color:#685c48}a[href].fr-tag--brown-cafe-creme:hover,button.fr-tag--brown-cafe-creme:hover,input[type=button].fr-tag--brown-cafe-creme:hover{background-color:#e1c386}a[href].fr-tag--brown-cafe-creme:active,button.fr-tag--brown-cafe-creme:active,input[type=button].fr-tag--brown-cafe-creme:active{background-color:#ccb078}a[href].fr-tag--brown-caramel,button.fr-tag--brown-caramel,input[type=button].fr-tag--brown-caramel{background-color:#f3e2d9;color:#845d48}a[href].fr-tag--brown-caramel:hover,button.fr-tag--brown-caramel:hover,input[type=button].fr-tag--brown-caramel:hover{background-color:#e7bea6}a[href].fr-tag--brown-caramel:active,button.fr-tag--brown-caramel:active,input[type=button].fr-tag--brown-caramel:active{background-color:#e1a982}a[href].fr-tag--brown-opera,button.fr-tag--brown-opera,input[type=button].fr-tag--brown-opera{background-color:#f3e2d7;color:#745b47}a[href].fr-tag--brown-opera:hover,button.fr-tag--brown-opera:hover,input[type=button].fr-tag--brown-opera:hover{background-color:#e7bfa0}a[href].fr-tag--brown-opera:active,button.fr-tag--brown-opera:active,input[type=button].fr-tag--brown-opera:active{background-color:#deaa7e}a[href].fr-tag--beige-gris-galet,button.fr-tag--beige-gris-galet,input[type=button].fr-tag--beige-gris-galet{background-color:#eee4d9;color:#6a6156}a[href].fr-tag--beige-gris-galet:hover,button.fr-tag--beige-gris-galet:hover,input[type=button].fr-tag--beige-gris-galet:hover{background-color:#dbc3a4}a[href].fr-tag--beige-gris-galet:active,button.fr-tag--beige-gris-galet:active,input[type=button].fr-tag--beige-gris-galet:active{background-color:#c6b094}button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#000091 .625rem);color:#f5f5fe}button.fr-tag[aria-pressed=true]:not(:disabled):hover,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#1212ff .625rem)}button.fr-tag[aria-pressed=true]:not(:disabled):active,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#2323ff .625rem)}button.fr-tag[aria-pressed=true]:after,input[type=button].fr-tag[aria-pressed=true]:after{color:#000091}button.fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#e5e5e5 .625rem)}button.fr-tag[aria-pressed=true]:disabled:after,input[type=button].fr-tag[aria-pressed=true]:disabled:after{color:#929292}button.fr-tag[aria-pressed=true].fr-tag--sm,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:hover,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:active,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}a:not([href]).fr-tag,button.fr-tag:disabled,input[type=button].fr-tag:disabled{background-color:#e5e5e5;color:#929292}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}.fr-alert{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-alert:before{color:#fff}.fr-alert--info{background-image:linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb)}.fr-alert--error{background-image:linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500)}.fr-alert--success{background-image:linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c)}.fr-alert--warning{background-image:linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000)}.fr-notice{background-color:#eee;color:#161616}.fr-notice--info{background-color:#e8edff;color:#0063cb}.fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px)}.fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-radio-group input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-fieldset--error .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px)}.fr-fieldset--error .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--valid .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px)}.fr-fieldset--valid .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--info .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px)}.fr-fieldset--info .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-group--sm input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich__pictogram{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]+label{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled~.fr-radio-rich__pictogram svg *{fill:#929292}.fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]:checked:disabled+label{background-image:linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked:disabled~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#ddd,#ddd)}.fr-fieldset--error .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-card{background-color:#fff}.fr-card:not(.fr-card--no-border):not(.fr-card--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-card--grey{background-color:#eee}.fr-card--shadow{background-color:#fff}.fr-card--shadow.fr-card--grey{background-color:#eee}.fr-card--download:not(.fr-card--no-background) .fr-card__header{background-color:#f6f6f6}.fr-card__detail{color:#666;line-height:1rem!important}.fr-card__title{color:#161616}.fr-card__title a[href]{color:#000091}.fr-card__title:disabled,a.fr-card__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-card__desc,.fr-card__detail{font-size:1rem;line-height:1.5rem}.fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5f5fe' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-active-blue-france);background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),var(--data-uri-svg)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group input[type=checkbox]:disabled+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-disabled-grey)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group--error input[type=checkbox]+label,.fr-checkbox-group--error input[type=checkbox]:checked+label{color:#ce0500}.fr-checkbox-group--error input[type=checkbox]+label:before,.fr-checkbox-group--error input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-checkbox-group--error:before{background-color:#ce0500}.fr-checkbox-group--valid input[type=checkbox]+label,.fr-checkbox-group--valid input[type=checkbox]:checked+label{color:#18753c}.fr-checkbox-group--valid input[type=checkbox]+label:before,.fr-checkbox-group--valid input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}.fr-checkbox-group--valid:before{background-color:#18753c}.fr-fieldset--error .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-fieldset--valid .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}.fr-toggle label{color:#161616}.fr-toggle label:before{color:#000091;content:"";display:block;font-size:1rem;line-height:1.5rem}.fr-toggle label:after{background-color:#fff;color:#000091}.fr-toggle input[type=checkbox],.fr-toggle label:after{box-shadow:inset 0 0 0 1px #000091}.fr-toggle input[type=checkbox]:checked{background-color:#000091}.fr-toggle input[type=checkbox]:disabled{box-shadow:inset 0 0 0 1px #e5e5e5}.fr-toggle input[type=checkbox]:disabled:checked{background-color:#e5e5e5}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{color:#929292}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:after{box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-toggle .fr-hint-text{color:#666;font-size:1rem;line-height:1.5rem}.fr-toggle--border-bottom{box-shadow:inset 0 -1px 0 0 #ddd}.fr-fieldset--error .fr-toggle label,.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label,.fr-toggle--error label:before{color:#ce0500}.fr-fieldset--error .fr-toggle label:after,.fr-toggle--error label:after{box-shadow:inset 0 0 0 1px #ce0500}.fr-fieldset--valid .fr-toggle label,.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label,.fr-toggle--valid label:before{color:#18753c}.fr-fieldset--valid .fr-toggle label:after,.fr-toggle--valid label:after{box-shadow:inset 0 0 0 1px #18753c}.fr-skiplinks{background-color:#eee}.fr-skiplink{display:none}.fr-select{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-fieldset--valid .fr-select,.fr-select-group--valid .fr-select{box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-select,.fr-select-group--error .fr-select{box-shadow:inset 0 -2px 0 0 #ce0500}.fr-select-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-select-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-select-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-select:disabled{box-shadow:inset 0 -2px 0 0 #e5e5e5;color:#929292}.fr-select:-webkit-autofill,.fr-select:-webkit-autofill:focus,.fr-select:-webkit-autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #ececfe}.fr-callout{background-color:#eee;background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-callout:before,.fr-callout__title{color:#161616}.fr-callout--green-tilleul-verveine{background-color:#fceeac;background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-callout--green-bourgeon{background-color:#c9fcac;background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-callout--green-emeraude{background-color:#c3fad5;background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-callout--green-menthe{background-color:#bafaee;background-image:linear-gradient(0deg,#009081,#009081)}.fr-callout--green-archipel{background-color:#c7f6fc;background-image:linear-gradient(0deg,#009099,#009099)}.fr-callout--blue-ecume{background-color:#e9edfe;background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-callout--blue-cumulus{background-color:#e6eefe;background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-callout--purple-glycine{background-color:#fee7fc;background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-callout--pink-macaron{background-color:#fee9e6;background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-callout--pink-tuile{background-color:#fee9e7;background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-callout--yellow-tournesol{background-color:#feecc2;background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-callout--yellow-moutarde{background-color:#feebd0;background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-callout--orange-terre-battue{background-color:#fee9e5;background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-callout--brown-cafe-creme{background-color:#f7ecdb;background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-callout--brown-caramel{background-color:#f7ebe5;background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-callout--brown-opera{background-color:#f7ece4;background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-callout--beige-gris-galet{background-color:#f3ede5;background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-modal__body{background-color:#fff}.fr-modal__title{color:#161616}.fr-modal__footer{background-color:#fff}.fr-modal__body.fr-scroll-divider .fr-modal__footer{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-modal,.fr-navigation{display:none}.fr-share .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-share__text{color:#666}.fr-footer,.fr-share{display:none}.fr-footer{box-shadow:inset 0 2px 0 0 #000091,inset 0 -1px 0 0 #ddd}.fr-footer__content-link{color:#3a3a3a}.fr-footer__top-cat{color:#161616}.fr-footer__top{background-color:#f6f6f6}.fr-footer__bottom{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__bottom .fr-btn{color:#666}.fr-footer__bottom-item:before{box-shadow:inset 0 0 0 1px #ddd}.fr-footer__bottom-copy,.fr-footer__bottom-link{color:#666}.fr-footer__partners{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__partners-title{color:#3a3a3a}.fr-footer__partners .fr-footer__logo{background-color:#fff;box-shadow:inset 0 0 0 1px #ddd}.fr-tile{background-color:#fff}.fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-tile--grey{background-color:#eee}.fr-tile--shadow{background-color:#fff}.fr-tile--shadow.fr-tile--grey{background-color:#eee}.fr-tile__title{color:#161616}.fr-tile__title:disabled,a.fr-tile__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-tile__title:before{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-tile__title a{color:#000091}.fr-tile__title a:before{background-image:linear-gradient(0deg,#000091,#000091)}.fr-tile__title a:not([href]){color:#929292}.fr-tile__title a:not([href]):before{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5)}.fr-tile .fr-tile__desc,.fr-tile .fr-tile__detail,.fr-tile--sm .fr-tile__desc,.fr-tile--sm .fr-tile__detail,.fr-tile--sm__desc,.fr-tile--sm__detail,.fr-tile__desc,.fr-tile__detail{font-size:1rem;line-height:1.5rem}.fr-translate .fr-translate__btn[aria-expanded=true]{background-color:#e3e3fd;color:#000091}.fr-translate .fr-translate__btn[aria-expanded=true]:hover{background-color:var(--hover-tint)}.fr-translate .fr-translate__btn[aria-expanded=true]:active{background-color:var(--active-tint)}.fr-translate .fr-translate__btn{font-size:1rem;line-height:1.5rem}.fr-transcription:before{box-shadow:inset 0 0 0 1px #ddd}.fr-transcription__btn{color:#000091}.fr-transcription__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-transcription .fr-modal:not(.fr-modal--opened):before,.fr-transcription__content:before,.fr-transcription__footer:before{box-shadow:inset 0 1px 0 0 #ddd}.fr-transcription{display:none}.fr-input{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-input::placeholder{color:#666}.fr-input::-webkit-contacts-auto-fill-button{background-color:#161616}.fr-input::-webkit-contacts-auto-fill-button:hover{background-color:#343434}.fr-input::-webkit-contacts-auto-fill-button:active{background-color:#474747}.fr-input:disabled{box-shadow:inset 0 -2px 0 0 var(--border-disabled-grey);color:var(--text-disabled-grey)}.fr-input:-webkit-autofill,.fr-input:-webkit-autofill:focus,.fr-input:-webkit-autofill:hover,.fr-input:autofill,.fr-input:autofill:focus,.fr-input:autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #e8edff}.fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #000091}.fr-fieldset--valid .fr-input,.fr-fieldset--valid .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--valid .fr-input,.fr-input-group--valid .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-input,.fr-fieldset--error .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--error .fr-input,.fr-input-group--error .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #ce0500}.fr-input-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-input-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-input-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-search-bar .fr-input{box-shadow:inset 0 -2px 0 0 #000091}.fr-search-bar .fr-input--valid{box-shadow:inset 0 -2px 0 0 #18753c}.fr-search-bar .fr-input--error{box-shadow:inset 0 -2px 0 0 #ce0500}.fr-content-media .fr-link,.fr-content-media__caption{color:#666}.fr-content-media__caption{font-size:1rem;line-height:1.5rem}.fr-content-media__caption .fr-link{font-size:1rem;line-height:1.5rem;padding:0}.fr-content-media__caption .fr-link:after,.fr-content-media__caption .fr-link:before{--icon-size:1rem}.fr-consent-placeholder{background-color:#eee}.fr-consent-banner{background-color:#f6f6f6;box-shadow:inset 0 0 0 1px #ddd;display:none}.fr-consent-manager__header,.fr-consent-service{box-shadow:inset 0 -1px 0 0 #ddd;color:#3a3a3a}.fr-consent-manager__header .fr-radio-group+.fr-radio-group:before,.fr-consent-service .fr-radio-group+.fr-radio-group:before{box-shadow:inset 0 0 0 1px #ddd}.fr-consent-service__title{color:#161616}.fr-consent-service .fr-consent-service__collapse-btn{color:#000091}.fr-follow{background-color:#f5f5fe}.fr-follow .fr-input{background-color:#fff}.fr-follow__title{color:#161616}.fr-follow__newsletter-legal{color:#666}.fr-follow__social .fr-btn{color:#000091}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){color:#929292}.fr-follow .fr-grid-row>:not(:first-child){box-shadow:0 -1px 0 0 #6a6af4}.fr-password__btn{color:#000091}.fr-password__btn:disabled,a.fr-password__btn:not([href]){color:#929292}.fr-password .fr-password__checkbox input[type=checkbox]+label{color:#161616}.fr-password .fr-password__checkbox input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}.fr-header__brand{background-color:#fff;flex-wrap:nowrap}.fr-header__service{box-shadow:inset 0 1px 0 0 #ddd;box-shadow:none;color:#161616}.fr-header__menu-links:after{box-shadow:inset 0 1px 0 0 #ddd}.fr-header__menu-links .fr-btn{color:#000091}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links .fr-btn{color:#000091}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header__navbar .fr-service__title{color:#161616}.fr-header__navbar .fr-btn{color:#000091}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){color:#929292}.fr-header__navbar .fr-btn--menu{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header .fr-modal{background-color:#fff}.fr-header__menu{display:none}.fr-header__body-row{padding:0}.fr-header__body .fr-header__navbar,.fr-header__body .fr-header__tools{display:none}.fr-header__brand-top{width:auto}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-btn--secondary{background-color:transparent}.fr-btn--secondary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:active{background-color:rgba(0,0,0,.1)}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){background-color:transparent}.fr-btn--secondary:disabled:hover,a.fr-btn--secondary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:disabled:active,a.fr-btn--secondary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--account,.fr-btn--tertiary{background-color:transparent}.fr-btn--account:hover,.fr-btn--tertiary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:active,.fr-btn--tertiary:active{background-color:rgba(0,0,0,.1)}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){background-color:transparent}.fr-btn--account:disabled:hover,.fr-btn--tertiary:disabled:hover,a.fr-btn--account:not([href]):hover,a.fr-btn--tertiary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:disabled:active,.fr-btn--tertiary:disabled:active,a.fr-btn--account:not([href]):active,a.fr-btn--tertiary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}.fr-btn--briefcase:hover,.fr-btn--close:hover,.fr-btn--display:hover,.fr-btn--fullscreen:hover,.fr-btn--team:hover,.fr-btn--tertiary-no-outline:hover,.fr-btn--tooltip:hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:active,.fr-btn--close:active,.fr-btn--display:active,.fr-btn--fullscreen:active,.fr-btn--team:active,.fr-btn--tertiary-no-outline:active,.fr-btn--tooltip:active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){background-color:transparent}.fr-btn--briefcase:disabled:hover,.fr-btn--close:disabled:hover,.fr-btn--display:disabled:hover,.fr-btn--fullscreen:disabled:hover,.fr-btn--team:disabled:hover,.fr-btn--tertiary-no-outline:disabled:hover,.fr-btn--tooltip:disabled:hover,a.fr-btn--briefcase:not([href]):hover,a.fr-btn--close:not([href]):hover,a.fr-btn--display:not([href]):hover,a.fr-btn--fullscreen:not([href]):hover,a.fr-btn--team:not([href]):hover,a.fr-btn--tertiary-no-outline:not([href]):hover,a.fr-btn--tooltip:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:disabled:active,.fr-btn--close:disabled:active,.fr-btn--display:disabled:active,.fr-btn--fullscreen:disabled:active,.fr-btn--team:disabled:active,.fr-btn--tertiary-no-outline:disabled:active,.fr-btn--tooltip:disabled:active,a.fr-btn--briefcase:not([href]):active,a.fr-btn--close:not([href]):active,a.fr-btn--display:not([href]):active,a.fr-btn--fullscreen:not([href]):active,a.fr-btn--team:not([href]):active,a.fr-btn--tertiary-no-outline:not([href]):active,a.fr-btn--tooltip:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-tooltip.fr-placement{z-index:1000}.fr-table--bordered tbody tr:nth-child(2n){background-color:transparent}.fr-table--bordered tbody tr:nth-child(2n):hover{background-color:rgba(0,0,0,.05)}.fr-table--bordered tbody tr:nth-child(2n):active{background-color:rgba(0,0,0,.1)}button.fr-tag[aria-pressed=true]:disabled,button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-color:transparent}.fr-card--shadow{z-index:500}.fr-card--no-background{background-color:transparent}.fr-card--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-card--no-background:active{background-color:rgba(0,0,0,.1)}.fr-toggle label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--error input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--valid input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}.fr-select:disabled{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}.fr-modal__body{z-index:2000}.fr-share .fr-btn{background-color:transparent}.fr-share .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){background-color:transparent}.fr-share .fr-btn:disabled:hover,.fr-share a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:disabled:active,.fr-share a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-tile--shadow{z-index:500}.fr-tile--no-background{background-color:transparent}.fr-tile--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-tile--no-background:active{background-color:rgba(0,0,0,.1)}.fr-translate__menu .fr-translate__language{box-shadow:none}.fr-search-bar .fr-input::-webkit-search-cancel-button{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E")}.fr-consent-banner{z-index:1500}.fr-consent-service .fr-consent-service,.fr-consent-service:last-of-type{box-shadow:none}.fr-follow__social .fr-btn{background-color:transparent}.fr-follow__social .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){background-color:transparent}.fr-follow__social .fr-btn:disabled:hover,.fr-follow__social a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:disabled:active,.fr-follow__social a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-password__btn{background-color:transparent}.fr-password__btn:hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:active{background-color:rgba(0,0,0,.1)}.fr-password__btn:disabled,a.fr-password__btn:not([href]){background-color:transparent}.fr-password__btn:disabled:hover,a.fr-password__btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:disabled:active,a.fr-password__btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-password [data-fr-capslock]:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.402 0 24 .598 24 1.332v21.336c0 .734-.598 1.332-1.332 1.332H1.332A1.334 1.334 0 0 1 0 22.668V1.332C0 .598.598 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E")}.fr-header__brand{z-index:750}.fr-header__menu-links .fr-btn{background-color:transparent;box-shadow:none}.fr-header__menu-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){background-color:transparent}.fr-header__menu-links .fr-btn:disabled:hover,.fr-header__menu-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:disabled:active,.fr-header__menu-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn{background-color:transparent}.fr-header__tools-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links .fr-btn:disabled:hover,.fr-header__tools-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:disabled:active,.fr-header__tools-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:hover,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:active,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn{background-color:transparent}.fr-header__navbar .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){background-color:transparent}.fr-header__navbar .fr-btn:disabled:hover,.fr-header__navbar a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:disabled:active,.fr-header__navbar a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu{background-color:transparent}.fr-header__navbar .fr-btn--menu:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){background-color:transparent}.fr-header__navbar .fr-btn--menu:disabled:hover,.fr-header__navbar a.fr-btn--menu:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:disabled:active,.fr-header__navbar a.fr-btn--menu:not([href]):active{background-color:rgba(0,0,0,.1)}}@media print and (min-width:48em) and (-ms-high-contrast:active),print and (min-width:48em) and (-ms-high-contrast:none){.fr-sidemenu,.fr-sidemenu__title{box-shadow:none}}@media print and (min-width:48em){.fr-sidemenu__inner{box-shadow:inset -1px 0 0 0 #ddd}.fr-sidemenu--right .fr-sidemenu__inner{box-shadow:inset 1px 0 0 0 #ddd}.fr-follow .fr-grid-row>:not(:first-child){box-shadow:-1px 0 0 0 #6a6af4}}@media print and (min-width:62em){.fr-header{background-color:#fff}.fr-header .fr-header__menu{box-shadow:inset 0 1px 0 0 #ddd}}@media print and (min-width:62em) and (-ms-high-contrast:active),print and (min-width:62em) and (-ms-high-contrast:none){.fr-header{z-index:750}.fr-header__brand{background:transparent;z-index:auto}.fr-header__service{box-shadow:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/component.print.min.css.map b/design_system_admin/dsfr/component/component.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b7339019d09aa0ab1b3e5ccaa9ad0f4b810a11e7 --- /dev/null +++ b/design_system_admin/dsfr/component/component.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/upload/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","%3Cinput%20css%20eNZQsV%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCLA,WC0BE,cAAA,CAGE,kBCxBF,CCWA,qBCyBE,8CF/BF,CGGE,mBD4BA,aF5BF,CGGI,uCDyBF,wBFzBF,CIfA,yBACE,yBJiBF,CIdA,uDACE,oCAAA,CACA,4BAAA,CC0BA,YAfE,CDTF,kBJgBF,CMjBA,UJiCE,qBAAA,CAAA,aFVF,CMnBE,gBJ6BA,wBAAA,CAAA,aFNF,CMlBE,iBJwBA,wBAAA,CAAA,aFFF,CMjBE,mBJmBA,wBAAA,CAAA,aFEF,CMhBE,mBJcA,wBAAA,CAAA,aFMF,CMfE,eJSA,wBAAA,CAAA,aFUF,COzCI,kCL+BF,wBAAA,CAAA,aFcF,CO7CI,0BL+BF,wBAAA,CAAA,aFkBF,COjDI,0BL+BF,wBAAA,CAAA,aFsBF,COrDI,wBL+BF,wBAAA,CAAA,aF0BF,COzDI,0BL+BF,wBAAA,CAAA,aF8BF,CO7DI,sBL+BF,wBAAA,CAAA,aFkCF,COjEI,wBL+BF,wBAAA,CAAA,aFsCF,COrEI,0BL+BF,wBAAA,CAAA,aF0CF,COzEI,wBL+BF,wBAAA,CAAA,aF8CF,CO7EI,sBL+BF,wBAAA,CAAA,aFkDF,COjFI,4BL+BF,wBAAA,CAAA,aFsDF,COrFI,2BL+BF,wBAAA,CAAA,aF0DF,COzFI,+BL+BF,wBAAA,CAAA,aF8DF,CO7FI,4BL+BF,wBAAA,CAAA,aFkEF,COjGI,yBL+BF,wBAAA,CAAA,aFsEF,COrGI,uBL+BF,wBAAA,CAAA,aF0EF,COzGI,4BL+BF,wBAAA,CAAA,aF8EF,CQ/GA,SNiCE,UFmFF,CS3HA,eACE,qDT6HF,CUtHA,QRgCE,wBAAA,CAAA,aF4FF,CWnIE,cTuFA,wBF+CF,CWtIE,eTuFA,wBFkDF,CYxHS,sCVsBP,wBAAA,CAAA,aFsGF,CU/HE,mBRyBA,kCAAA,CAAA,aF0GF,CYhIS,4DVsBP,kCAAA,CAAA,aF2HF,CU/IE,mCRoBA,+BAAA,CAAA,aF4IF,CYlKS,kHVsBP,kCAAA,CAAA,aF6JF,CU3KE,mIRcA,aF6KF,CYnMS,gaVsBP,aF6LF,CarOA,uIAOE,4Bb8OF,Cc7OA,YZgCE,wBAAA,CAAA,aFmNF,CYzOS,8CVsBP,wBAAA,CAAA,aFuNF,CetPI,kCb+BF,aAAA,CHfF,cAAA,CAGE,kBCsOF,CerPI,oBb2BF,UAAA,CHfF,cAAA,CAGE,kBCyOF,CgB9PA,UdiCE,gDF0OF,CCnQA,iBCyBE,aF6OF,CCtQA,yCCyBE,aFgPF,CCzQA,iCCyBE,aFmPF,CC5QA,iCCyBE,aFsPF,CC/QA,+BCyBE,aFyPF,CClRA,iCCyBE,aF4PF,CCrRA,6BCyBE,aF+PF,CCxRA,+BCyBE,aFkQF,CC3RA,iCCyBE,aFqQF,CC9RA,+BCyBE,aFwQF,CCjSA,6BCyBE,aF2QF,CCpSA,mCCyBE,aF8QF,CCvSA,kCCyBE,aFiRF,CC1SA,sCCyBE,aFoRF,CC7SA,mCCyBE,aFuRF,CChTA,gCCyBE,aF0RF,CCnTA,8BCyBE,aF6RF,CCtTA,mCCyBE,aFgSF,CgBpTE,kBdoBA,UFmSF,CiB3UA,yDlByBA,cAAA,CAGE,kBCqTF,CkBzUA,ehBgCE,UAAA,CiBxCF,YnBsVA,CoBnVA,6DlBqCE,aFiTF,CqB/UI,sHnB8BF,aFyTF,CqBjVI,sHnBwBF,aF4TF,CqB9UI,kHnBkBF,aF+TF,CqB3UI,oSnBYF,aFsUF,CqB3UA,UnBKE,aFyUF,CqB3UE,iBnBEA,aF4UF,CqB1UE,mBnBFA,aF+UF,CqBzUE,gBnBNA,aFkVF,CqBvUI,sDnBXF,aFqVF,CqBnUA,0BnBlBE,UAAA,CHfF,cAAA,CAGE,kBCqWF,CqBjUE,mBnBxBA,aF4VF,CqBhUE,mBnB5BA,aF+VF,CqB/TE,kBnBhCA,aFkWF,CqBlTM,iPnBhDJ,aF4WF,CqBpTE,qBnBxDA,aF+WF,CqBnTE,6DnB5DA,sDFkXF,CqBjTE,uEnBjEA,aFqXF,CqB/SE,6DnBtEA,sDFwXF,CqB7SE,uEnB3EA,aF2XF,CqB3SE,2DnBhFA,sDF8XF,CqBzSE,qEnBrFA,aFiYF,CsBpaA,mBpBmCE,aF2YF,CuBnaE,wCrBwBA,UFiZF,CuBraE,mBrBoBA,iSFoZF,CwB5bA,wCzByBA,cAAA,CAGE,kBCoaF,CyBxbA,YvBgCE,aAAA,CwBxCF,Y1BqcA,CyBvbI,8BvB0BF,oSFuaF,CyB7bI,iCvBsBF,8RF4aF,C2B7cA,SzBiCE,aFsbF,C2BpdE,iBzB8BA,UFybF,C2BjdE,2BzBwBA,aF4bF,C2BhdE,0BzBoBA,+BF+bF,C4B7dA,a1B8BE,qDAAA,C2BxCF,Y7BkfA,CsB7eA,oBpBmCE,gCAAA,CAAA,aFqdF,C4B/dI,2E1BUF,aFgeF,CCzfA,0BCyBE,gDFmeF,CC5fA,sCCyBE,gCFseF,CC/fA,qCCyBE,0BFyeF,CoB9gBA,0JlBqCE,aF2fF,CCphBA,mICyBE,wBF8fF,C4BvdI,sC1BvCF,wBFmgBF,C8BpiBA,c5BiCE,sDF6gBF,CO5iBI,sCL+BF,sDFghBF,CO/iBI,8BL+BF,sDFmhBF,COljBI,8BL+BF,sDFshBF,COrjBI,4BL+BF,sDFyhBF,COxjBI,8BL+BF,sDF4hBF,CO3jBI,0BL+BF,sDF+hBF,CO9jBI,4BL+BF,sDFkiBF,COjkBI,8BL+BF,sDFqiBF,COpkBI,4BL+BF,sDFwiBF,COvkBI,0BL+BF,sDF2iBF,CO1kBI,gCL+BF,sDF8iBF,CO7kBI,+BL+BF,sDFijBF,COhlBI,mCL+BF,sDFojBF,COnlBI,gCL+BF,sDFujBF,COtlBI,6BL+BF,sDF0jBF,COzlBI,2BL+BF,sDF6jBF,CO5lBI,gCL+BF,sDFgkBF,C+BhmBA,S7BgCE,gCFwkBF,CCjmBA,gBCyBE,0EF2kBF,C+BjmBE,c7BsBA,gJAAA,CAAA,yBF+kBF,C+BjmBI,wC7BkBF,wBAAA,CAAA,aFmlBF,C+BhmBI,iD7BaF,qBAAA,CAAA,sJAAA,CAAA,aFwlBF,CY9mBS,uBVsBP,wBAAA,CAAA,aF4lBF,CgC3nBA,e9B+BE,aFimBF,CoBtoBA,6DlBqCE,wBAAA,CAAA,aFqmBF,CW5oBE,mETuFA,wBFwjBF,CW/oBE,oETuFA,wBF2jBF,CYjoBS,gNVsBP,aF8mBF,CiC/oBA,Y/BiCE,qBAAA,CgCxCF,YlC2pBA,CiC5oBE,oC/ByBA,aFynBF,CmCzpBE,kBjCgCA,aFooBF,CmChqBE,gBjC4BA,qBAAA,CAAA,sDAAA,CAAA,aFyoBF,CmC9pBE,gBjCqBA,wBF4oBF,CmC9pBI,iCjCkBF,qBF+oBF,CmC3pBI,wCjCYF,wBAAA,CAAA,sDFspBF,CmC7pBI,wCjCOF,wBFypBF,CmC7pBM,yDjCIJ,wBF4pBF,CmCxpBQ,8DjCJN,sDF+pBF,CmC3qBI,gCjCYF,wBAAA,CAAA,sDFsqBF,CmC7qBI,gCjCOF,wBFyqBF,CmC7qBM,iDjCIJ,wBF4qBF,CmCxqBQ,sDjCJN,sDF+qBF,CmC3rBI,gCjCYF,wBAAA,CAAA,sDFsrBF,CmC7rBI,gCjCOF,wBFyrBF,CmC7rBM,iDjCIJ,wBF4rBF,CmCxrBQ,sDjCJN,sDF+rBF,CmC3sBI,8BjCYF,wBAAA,CAAA,sDFssBF,CmC7sBI,8BjCOF,wBFysBF,CmC7sBM,+CjCIJ,wBF4sBF,CmCxsBQ,oDjCJN,sDF+sBF,CmC3tBI,gCjCYF,wBAAA,CAAA,sDFstBF,CmC7tBI,gCjCOF,wBFytBF,CmC7tBM,iDjCIJ,wBF4tBF,CmCxtBQ,sDjCJN,sDF+tBF,CmC3uBI,4BjCYF,wBAAA,CAAA,sDFsuBF,CmC7uBI,4BjCOF,wBFyuBF,CmC7uBM,6CjCIJ,wBF4uBF,CmCxuBQ,kDjCJN,sDF+uBF,CmC3vBI,8BjCYF,wBAAA,CAAA,sDFsvBF,CmC7vBI,8BjCOF,wBFyvBF,CmC7vBM,+CjCIJ,wBF4vBF,CmCxvBQ,oDjCJN,sDF+vBF,CmC3wBI,gCjCYF,wBAAA,CAAA,sDFswBF,CmC7wBI,gCjCOF,wBFywBF,CmC7wBM,iDjCIJ,wBF4wBF,CmCxwBQ,sDjCJN,sDF+wBF,CmC3xBI,8BjCYF,wBAAA,CAAA,sDFsxBF,CmC7xBI,8BjCOF,wBFyxBF,CmC7xBM,+CjCIJ,wBF4xBF,CmCxxBQ,oDjCJN,sDF+xBF,CmC3yBI,4BjCYF,wBAAA,CAAA,sDFsyBF,CmC7yBI,4BjCOF,wBFyyBF,CmC7yBM,6CjCIJ,wBF4yBF,CmCxyBQ,kDjCJN,sDF+yBF,CmC3zBI,kCjCYF,wBAAA,CAAA,sDFszBF,CmC7zBI,kCjCOF,wBFyzBF,CmC7zBM,mDjCIJ,wBF4zBF,CmCxzBQ,wDjCJN,sDF+zBF,CmC30BI,iCjCYF,wBAAA,CAAA,sDFs0BF,CmC70BI,iCjCOF,wBFy0BF,CmC70BM,kDjCIJ,wBF40BF,CmCx0BQ,uDjCJN,sDF+0BF,CmC31BI,qCjCYF,wBAAA,CAAA,sDFs1BF,CmC71BI,qCjCOF,wBFy1BF,CmC71BM,sDjCIJ,wBF41BF,CmCx1BQ,2DjCJN,sDF+1BF,CmC32BI,kCjCYF,wBAAA,CAAA,sDFs2BF,CmC72BI,kCjCOF,wBFy2BF,CmC72BM,mDjCIJ,wBF42BF,CmCx2BQ,wDjCJN,sDF+2BF,CmC33BI,+BjCYF,wBAAA,CAAA,sDFs3BF,CmC73BI,+BjCOF,wBFy3BF,CmC73BM,gDjCIJ,wBF43BF,CmCx3BQ,qDjCJN,sDF+3BF,CmC34BI,6BjCYF,wBAAA,CAAA,sDFs4BF,CmC74BI,6BjCOF,wBFy4BF,CmC74BM,8CjCIJ,wBF44BF,CmCx4BQ,mDjCJN,sDF+4BF,CmC35BI,kCjCYF,wBAAA,CAAA,sDFs5BF,CmC75BI,kCjCOF,wBFy5BF,CmC75BM,mDjCIJ,wBF45BF,CmCx5BQ,wDjCJN,sDF+5BF,CmCj5BM,6BjCdJ,gDFm6BF,CoC38BA,0BrCyBA,cAAA,CAGE,kBCi8BF,CqCr9BA,QnCgCE,qBAAA,CAAA,aF27BF,CsC58BA,4BpCiBE,wBAAA,CAAA,aF+7BF,CWt+BE,kCTuFA,wBFk5BF,CWz+BE,mCTuFA,wBFq5BF,CqC59BE,wBnCuBA,wBAAA,CAAA,aFy8BF,CWh/BE,8BTuFA,wBF45BF,CWn/BE,+BTuFA,wBF+5BF,CqC79BE,uDnCcA,wBAAA,CAAA,aFq9BF,CW5/BE,yETuFA,wBF06BF,CWjgCE,4ETuFA,wBF+6BF,CO9/BI,+HL+BF,wBAAA,CAAA,aFq+BF,CW5gCE,iJTuFA,wBF07BF,CWjhCE,oJTuFA,wBF+7BF,CO9gCI,uGL+BF,wBAAA,CAAA,aFq/BF,CW5hCE,yHTuFA,wBF08BF,CWjiCE,4HTuFA,wBF+8BF,CO9hCI,uGL+BF,wBAAA,CAAA,aFqgCF,CW5iCE,yHTuFA,wBF09BF,CWjjCE,4HTuFA,wBF+9BF,CO9iCI,iGL+BF,wBAAA,CAAA,aFqhCF,CW5jCE,mHTuFA,wBF0+BF,CWjkCE,sHTuFA,wBF++BF,CO9jCI,uGL+BF,wBAAA,CAAA,aFqiCF,CW5kCE,yHTuFA,wBF0/BF,CWjlCE,4HTuFA,wBF+/BF,CO9kCI,2FL+BF,wBAAA,CAAA,aFqjCF,CW5lCE,6GTuFA,wBF0gCF,CWjmCE,gHTuFA,wBF+gCF,CO9lCI,iGL+BF,wBAAA,CAAA,aFqkCF,CW5mCE,mHTuFA,wBF0hCF,CWjnCE,sHTuFA,wBF+hCF,CO9mCI,uGL+BF,wBAAA,CAAA,aFqlCF,CW5nCE,yHTuFA,wBF0iCF,CWjoCE,4HTuFA,wBF+iCF,CO9nCI,iGL+BF,wBAAA,CAAA,aFqmCF,CW5oCE,mHTuFA,wBF0jCF,CWjpCE,sHTuFA,wBF+jCF,CO9oCI,2FL+BF,wBAAA,CAAA,aFqnCF,CW5pCE,6GTuFA,wBF0kCF,CWjqCE,gHTuFA,wBF+kCF,CO9pCI,6GL+BF,wBAAA,CAAA,aFqoCF,CW5qCE,+HTuFA,wBF0lCF,CWjrCE,kITuFA,wBF+lCF,CO9qCI,0GL+BF,wBAAA,CAAA,aFqpCF,CW5rCE,4HTuFA,wBF0mCF,CWjsCE,+HTuFA,wBF+mCF,CO9rCI,sHL+BF,wBAAA,CAAA,aFqqCF,CW5sCE,wITuFA,wBF0nCF,CWjtCE,2ITuFA,wBF+nCF,CO9sCI,6GL+BF,wBAAA,CAAA,aFqrCF,CW5tCE,+HTuFA,wBF0oCF,CWjuCE,kITuFA,wBF+oCF,CO9tCI,oGL+BF,wBAAA,CAAA,aFqsCF,CW5uCE,sHTuFA,wBF0pCF,CWjvCE,yHTuFA,wBF+pCF,CO9uCI,8FL+BF,wBAAA,CAAA,aFqtCF,CW5vCE,gHTuFA,wBF0qCF,CWjwCE,mHTuFA,wBF+qCF,CO9vCI,6GL+BF,wBAAA,CAAA,aFquCF,CW5wCE,+HTuFA,wBF0rCF,CWjxCE,kITuFA,wBF+rCF,CqC9uCM,4GnCDJ,8FAAA,CAAA,aFovCF,CW3xCE,wHTuFA,8FFgtCF,CWvyCE,0HTuFA,8FFstCF,CC/xCA,0FCyBE,aF4wCF,CYlyCS,gGVsBP,8FFkxCF,CC3yCA,4GCyBE,aF8xCF,CqC3wCM,oGnCnBJ,4FFoyCF,CW30CE,gHTuFA,4FFwvCF,CW/0CE,kHTuFA,4FF4vCF,CYl0CS,sHVsBP,4FFgzCF,CqC/wCE,+EnCjCA,wBAAA,CAAA,aF6zCF,CsC90CA,gJpCiBE,4FFm0CF,CW12CE,4JTuFA,4FFuxCF,CW92CE,8JTuFA,4FF2xCF,CYj2CS,kKVsBP,4FF+0CF,CuCh3CA,UrCiCE,8MFo1CF,CC72CA,iBCyBE,UFu1CF,CuCj3CE,gBrC0BA,8MF01CF,CuCh3CE,iBrCsBA,8MF61CF,CuC/2CE,mBrCkBA,8MFg2CF,CuC92CE,mBrCcA,8MFm2CF,CwCp4CA,WtCiCE,qBAAA,CAAA,aFy2CF,CwCt4CE,iBtC6BA,wBAAA,CAAA,aF62CF,CyC14CI,wCvC6BF,gFFk3CF,CyC14CM,iDvCwBJ,gFFq3CF,CyCv4CM,gDvCkBJ,6HFw3CF,CyCr4CQ,yDvCaN,6HF23CF,CyC53CQ,4DvCCN,gFF83CF,CyC33CQ,oEvCHN,6HFi4CF,CyCp3CQ,4DvCbN,gFFo4CF,CyCn3CQ,oEvCjBN,6HFu4CF,CyC52CQ,2DvC3BN,gFF04CF,CyC32CQ,mEvC/BN,6HF64CF,CyCp2CQ,8DvCzCN,gFFg5CF,CyCn2CQ,sEvC7CN,6HFm5CF,C0Cj7CI,4CxC8BF,6EFs5CF,C0C/6CM,qDxCyBJ,6EFy5CF,C0C56CM,oDxCmBJ,0HF45CF,C0C16CQ,6DxCcN,0HF+5CF,C0Cj6CQ,gExCEN,6EFk6CF,C0Ch6CQ,wExCFN,0HFq6CF,C0Cz5CQ,gExCZN,6EFw6CF,C0Cx5CQ,wExChBN,0HF26CF,C0Cj5CQ,+DxC1BN,6EF86CF,C0Ch5CQ,uExC9BN,0HFi7CF,C0Cz4CQ,kExCxCN,6EFo7CF,C0Cx4CQ,0ExC5CN,0HFu7CF,C2Cr9CE,0BzC8BA,qBAAA,CAAA,gJF27CF,C2Cn9CI,uCzCwBF,qBAAA,CAAA,6MF+7CF,C2Cj9CM,gDzCkBJ,6MFk8CF,C2C/8CQ,0EzCaN,YFq8CF,C2C38CM,+CzCMJ,kRFw8CF,C2C18CM,mEzCEJ,kKF28CF,C2Cx8CQ,wDzCHN,kRF88CF,C2Cv8CQ,4EzCPN,kKFi9CF,C2C97CQ,2DzCnBN,6MFo9CF,C2C77CQ,mEzCvBN,kRFu9CF,C2Ct7CQ,2DzCjCN,6MF09CF,C2Cr7CQ,mEzCrCN,kRF69CF,C2C96CQ,0DzC/CN,6MFg+CF,C2C76CQ,kEzCnDN,kRFm+CF,C2Ct6CQ,6DzC7DN,6MFs+CF,C2Cr6CQ,qEzCjEN,0PFy+CF,C4CxgDA,S1C+BE,qBF8+CF,C4C1gDE,wD1C4BA,gJFi/CF,C4CzgDE,e1CwBA,qBFo/CF,C4CxgDE,iB1CoBA,qBFu/CF,C4CvgDE,+B1CgBA,qBFigDF,C4CxgDI,iE1COF,wBFihDF,C4CnhDE,iB1CEA,UAAA,C2ClCA,0B7CwjDF,C4CphDE,gB1CFA,aF2hDF,C4CthDI,wB1CLF,aF8hDF,CYpjDS,sDVsBP,wBAAA,CAAA,aFkiDF,C6C1kDA,gC9CyBA,cAAA,CAGE,kBCojDF,CCjkDA,qDCyBE,4gCFgjDF,CCzkDA,6D6CmBE,uNAAA,C5CMA,qDAAA,CAAA,47BFqjDF,CW5lDE,uFmCwCE,uN9CujDJ,CCjlDA,8DCyBE,46BF2jDF,CCplDA,sE6CmBE,uNAAA,C5CMA,gDF+jDF,CWtmDE,gGmCwCE,oN9CikDJ,C+CzjDM,kH7CTJ,aFskDF,CC/lDA,gICyBE,40BF0kDF,CCnmDA,iCCyBE,wBF6kDF,C+CnjDM,kH7C1BJ,aFilDF,CC1mDA,gICyBE,42BFqlDF,CC9mDA,iCCyBE,wBFwlDF,CCjnDA,yECyBE,40BF2lDF,CCpnDA,yECyBE,42BF8lDF,CgD7nDE,iB9C+BA,aFmmDF,CC5nDA,wBCyBE,aAAA,CDtBE,UgDjBc,ChDqBd,aAAA,CFGJ,cAAA,CAGE,kBCknDF,CC/nDA,uBCyBE,qBAAA,CAAA,aFknDF,CgDloDE,uD9CgBA,kCFunDF,CgDpoDI,wC9CaF,wBF0nDF,CYhpDS,yCVsBP,kCFyoDF,CgDvoDM,iD9CFJ,wBF4oDF,CCrqDA,kECyBE,aF2pDF,CCprDA,iECyBE,kCAAA,CAAA,aFsqDF,CgDzoDE,yB9C7BA,UAAA,CHfF,cAAA,CAGE,kBCurDF,CgD1oDE,0B9CjCA,gCFgrDF,CCzsDA,wICyBE,aF0rDF,CCntDA,yECyBE,kCFssDF,CC/tDA,wICyBE,aFstDF,CC/uDA,yECyBE,kCFkuDF,CkDnwDA,chDiCE,qBFyvDF,CmDlyDF,aACE,YnDoyDA,CoD5xDA,WlDgCE,qBAAA,CAAA,mCAAA,CAAA,aF0wDF,CoDnyDE,kElDyBA,mCFoxDF,CoDxyDE,kElDoBA,mCFyxDF,CClzDA,+BCyBE,sDF8xDF,CCvzDA,+BCyBE,sDFmyDF,CC5zDA,8BCyBE,sDFwyDF,CY9zDS,oBVsBP,mCAAA,CAAA,aF8yDF,CoDhyDE,gGlDdA,+BAAA,CAAA,8DFyzDF,CqD11DA,YnDiCE,qBAAA,CAAA,sDF+zDF,CsBl2DA,sCpBmCE,aFq0DF,COp2DI,oCL+BF,wBAAA,CAAA,sDFy0DF,COx2DI,4BL+BF,wBAAA,CAAA,sDF60DF,CO52DI,4BL+BF,wBAAA,CAAA,sDFi1DF,COh3DI,0BL+BF,wBAAA,CAAA,sDFq1DF,COp3DI,4BL+BF,wBAAA,CAAA,sDFy1DF,COx3DI,wBL+BF,wBAAA,CAAA,sDF61DF,CO53DI,0BL+BF,wBAAA,CAAA,sDFi2DF,COh4DI,4BL+BF,wBAAA,CAAA,sDFq2DF,COp4DI,0BL+BF,wBAAA,CAAA,sDFy2DF,COx4DI,wBL+BF,wBAAA,CAAA,sDF62DF,CO54DI,8BL+BF,wBAAA,CAAA,sDFi3DF,COh5DI,6BL+BF,wBAAA,CAAA,sDFq3DF,COp5DI,iCL+BF,wBAAA,CAAA,sDFy3DF,COx5DI,8BL+BF,wBAAA,CAAA,sDF63DF,CO55DI,2BL+BF,wBAAA,CAAA,sDFi4DF,COh6DI,yBL+BF,wBAAA,CAAA,sDFq4DF,COp6DI,8BL+BF,wBAAA,CAAA,sDFy4DF,CsBt6DA,gBpB6BE,qBF84DF,CsDz6DE,iBpD2BA,aFw5DF,CsD/6DE,kBpDuBA,qBF65DF,CsD/6DI,oDpDkBF,gDFk6DF,CuD38DF,yBACE,YvDo9DA,CwD58DE,kBtDgCA,+BAAA,CAAA,aFk7DF,CYx8DS,0DVsBP,kCAAA,CAAA,aFm8DF,CwD/9DE,gBtD4BA,UFm9DF,CyDp/DA,qBCPA,Y1DqgEA,CyD9/DA,WvDiCE,wDF69DF,CyD3/DE,yBvD8BA,aFg+DF,CyD1/DE,oBvD0BA,aFm+DF,CyDz/DE,gBvDsBA,wBFs+DF,CyDx/DE,mBvDkBA,+BFy+DF,CyDz/DI,2BvDgBF,UF4+DF,CCrgEA,+BCyBE,+BF++DF,CyDh/DE,gDvDCA,UFq/DF,CyDl/DE,qBvDHA,+BFw/DF,CyDl/DI,2BvDNF,aF2/DF,CyDj/DI,sCvDVF,qBAAA,CAAA,+BF+/DF,C2D9hEA,SzD+BE,qBFugEF,C2DniEE,wDzD4BA,gJF0gEF,C2DliEE,ezDwBA,qBF6gEF,C2DjiEE,iBzDoBA,qBFghEF,C2DhiEE,+BzDgBA,qBF0hEF,C2DliEE,gBzDQA,aF0iEF,CYhkES,sDVsBP,wBAAA,CAAA,aF8iEF,CCvkEA,uBCyBE,sDFijEF,C2DjjEI,kBzDAF,aFojEF,CC7kEA,yBCyBE,sDFujEF,C2DhjEM,8BzDPJ,aF0jEF,CCnlEA,qCCyBE,sDF6jEF,C4DnmEA,oL7DuBA,cAAA,CAGE,kBColEF,C6DvmEI,qD3D+BF,wBAAA,CAAA,aF8kEF,C8DjlEA,2DACE,kC9DmlEF,C8DhlEA,4DACE,mC9DklEF,C+D5nEA,iChEyBA,cAAA,CAGE,kBC2mEF,CCxnEA,yBCyBE,+BFomEF,CgEhoEE,uB9D4BA,aFumEF,CgEhoEI,2C9DyBF,wBF0mEF,CCnoEA,6HCyBE,+BFmnEF,CiE5pEF,kBACE,YjE8pEA,CkEtpEA,UhEgCE,qBAAA,CAAA,mCAAA,CAAA,aF6nEF,CmEtpEA,uBjEyBE,UFgoEF,CmEnpEA,6CjEmBE,wBFmoEF,CW1qEE,mDTuFA,wBFslEF,CW7qEE,oDTuFA,wBFylEF,CY/pES,mBVsBP,uDAAA,CAAA,+BF6oEF,CoEhrEA,kKlEmCE,+BAAA,CAAA,8DFipEF,CkEhpEI,iDhEDF,mCFopEF,CkE5oEI,4MhERF,mCFypEF,CkEzoEI,4MhEhBF,mCF8pEF,CCvrEA,8BCyBE,sDFiqEF,CC1rEA,8BCyBE,sDFoqEF,CC7rEA,6BCyBE,sDFuqEF,CqEvsEE,yBnEgCA,mCF4qEF,CqEzsEI,gCnE6BF,mCF+qEF,CqExsEI,gCnEyBF,mCFkrEF,CsEltEE,sDpEgCA,UF6rEF,CuEruEA,2BxEyBA,cAAA,CAGE,kBC6sEF,CwEnuEE,oCCKF,cAAA,CACA,kBAFc,CAsBd,SzE8sEA,CC/tEA,qFyE0BE,gB1EwsEF,C2EzuEA,wBzEgCE,qBF8sEF,C2E1uEA,mBzE4BE,wBAAA,CAAA,+BAAA,C0EvCA,Y5EyvEF,C2ExuEA,gDzEsBE,gCAAA,CAAA,aF8tEF,CCvvEA,8HCyBE,+BFkuEF,C2EzuEE,2BzEOA,aFuuEF,C2EruEE,sDzEFA,aFkvEF,C6EnxEA,W3EiCE,wBFkwEF,C6EhyEE,qB3E8BA,qBFqwEF,C6E/xEE,kB3E0BA,aFwwEF,C6E7xEI,6B3EqBF,UF2wEF,C6E1xEI,2B3EeF,aF8wEF,CYpyES,4EVsBP,aF8xEF,C6ExyEE,2C3EUA,6BF8yEF,C8E70EE,kB5E+BA,aFwzEF,CY90ES,0DVsBP,aFw0EF,C8E31EM,+D5EmBJ,aF61EF,CCt3EA,sECyBE,4gCFg2EF,C+E93EE,kB7E8BA,qBAAA,C8ExBA,gBhF63EF,C+E/3EE,oB7E0BA,+BAAA,C8EhBA,eAAA,C9EgBA,aFg3EF,CCz4EA,6BCyBE,+BF04EF,C+E94EI,+B7EIF,aF64EF,CYn6ES,oFVsBP,aF65EF,C+E15EI,gC7EHF,aFk7EF,CYx8ES,sFVsBP,aFk8EF,C+E17EM,qE7ERJ,+BAAA,CAAA,aFm9EF,CYz+ES,gKVsBP,kCAAA,CAAA,aFo+EF,CsBvgFA,sCpBmCE,aFo/EF,C+E/9EI,2B7ErBF,aFu/EF,CY7gFS,4EVsBP,aFugFF,C+E/+EM,iC7ExBJ,+BAAA,CAAA,aFwhFF,CY9iFS,wFVsBP,kCAAA,CAAA,aFyiFF,C+ErgFE,qB7EpCA,qBF8jFF,CgFtmFA,iBACE,YhF0mFF,CgFtmFE,qB3E2BA,SL8kFF,CgFrmFE,uEAEE,YhFumFJ,CgFhmFE,sBACE,UhFqmFJ,CAnnFF,CiFGI,+EvEOA,mBRwGE,4BFgCJ,CE7BM,yBACE,gCF+BR,CE5BM,0BACE,+BF8BR,CY3IS,4DVqGL,4BFiDJ,CE9CM,wEACE,gCFgDR,CE7CM,0EACE,+BF+CR,CU1JE,mCRmGE,4BFkEJ,CE/DM,+CACE,gCFiER,CE9DM,iDACE,+BFgER,CY7KS,kHVqGL,4BFmFJ,CEhFM,0IACE,gCFkFR,CE/EM,8IACE,+BFiFR,CUtLE,mIR6FE,4BFmGJ,CEhGM,6KACE,gCFkGR,CE/FM,oLACE,+BFiGR,CY9MS,gaVqGL,4BFmHJ,CEhHM,ofACE,gCFkHR,CE/GM,kgBACE,+BFiHR,CyBrOE,yByDHI,YlFkcN,CmChZQ,2CjC6DJ,4BFy1BJ,CEt1BM,iDACE,gCFw1BR,CEr1BM,kDACE,+BFu1BR,CYp8BS,4MVqGL,4BFysCJ,C4C5yCE,iBsCZI,WlF4hDN,C4CxgDE,wB1C2FE,4BFu7CJ,CEp7CM,8BACE,gCFs7CR,CEn7CM,+BACE,+BFq7CR,CCriDA,wB6CcM,sO9CsnDN,CCpoDA,iE6CcM,oO9C0oDN,CCxpDA,gE6CcM,yN9C+oDN,CC7pDA,0E6CcM,oO9C4pDN,CC1qDA,yE6CcM,yN9CiqDN,CC/qDA,kE6CcM,sO9C2qDN,CCzrDA,2E6CcM,sO9C2sDN,CCztDA,6J6CcM,oO9CutDN,CCruDA,2E6CcM,sO9CuuDN,CCrvDA,6J6CcM,oO9CmvDN,CoDxwDA,WNqBM,qN9C0xDN,CYryDS,oBkCWH,qN9C8zDN,CsBh1DA,gB4DHM,YlFm7DN,CwDn7DE,kBtD+GE,4BFw2DJ,CEr2DM,wBACE,gCFu2DR,CEp2DM,yBACE,+BFs2DR,CYn9DS,0DVqGL,4BFy3DJ,CEt3DM,sEACE,gCFw3DR,CEr3DM,wEACE,+BFu3DR,C2Dl+DE,iBuBZI,WlFqjEN,C2DjiEE,wBzD2FE,4BFg9DJ,CE78DM,8BACE,gCF+8DR,CE58DM,+BACE,+BF88DR,C6D5jEI,4C3D6PE,eFm3DN,CqE9mEI,uDvBUE,mY9CksEN,C2EntEA,mBOJM,YlFuvEN,C2E1tEE,yEzEyOI,eFugEN,C6E5vEI,2B3E8FA,4BFosEJ,CEjsEM,iCACE,gCFmsER,CEhsEM,kCACE,+BFksER,CY/yES,4EVqGL,4BFotEJ,CEjtEM,wFACE,gCFmtER,CEhtEM,0FACE,+BFktER,C8Ex0EE,kB5E8GE,4BF8uEJ,CE3uEM,wBACE,gCF6uER,CE1uEM,yBACE,+BF4uER,CYz1ES,0DVqGL,4BF8vEJ,CE3vEM,sEACE,gCF6vER,CE1vEM,wEACE,+BF4vER,CC52EA,uC6CcM,uZ9Cm2EN,C+Et3EE,kBGFI,WlF04EN,C+E92EI,+B7EmFA,4BAAA,CAuJE,eF4qEN,CEh0EM,qCACE,gCFk0ER,CE/zEM,sCACE,+BFi0ER,CY96ES,oFVqGL,4BFm1EJ,CEh1EM,gGACE,gCFk1ER,CE/0EM,kGACE,+BFi1ER,C+Er6EI,gC7E4EA,4BFw2EJ,CEr2EM,sCACE,gCFu2ER,CEp2EM,uCACE,+BFs2ER,CYn9ES,sFVqGL,4BFw3EJ,CEr3EM,kGACE,gCFu3ER,CEp3EM,oGACE,+BFs3ER,C+Er8EM,qE7EuEF,4BFy4EJ,CEt4EM,2EACE,gCFw4ER,CEr4EM,4EACE,+BFu4ER,CYp/ES,gKVqGL,4BF05EJ,CEv5EM,4KACE,gCFy5ER,CEt5EM,8KACE,+BFw5ER,C+E19EI,2B7E0DA,4BF66EJ,CE16EM,iCACE,gCF46ER,CEz6EM,kCACE,+BF26ER,CYxhFS,4EVqGL,4BF67EJ,CE17EM,wFACE,gCF47ER,CEz7EM,0FACE,+BF27ER,C+E1/EM,iC7EuDF,4BF88EJ,CE38EM,uCACE,gCF68ER,CE18EM,wCACE,+BF48ER,CYzjFS,wFVqGL,4BF+9EJ,CE59EM,oGACE,gCF89ER,CE39EM,sGACE,+BF69ER,CA97EF,CiFtJI,yH3DHF,iCpByQM,eFoPN,CAVF,CmF1eI,kCvDsCA,oB1BZA,gCF8eF,C4B1dM,wC1BpBJ,+BFmfF,C6E7fE,2C3EUA,6BFmzEF,CAp0DF,CmFzgBI,kCJLF,W7E+BE,qBFq3EF,C+Ev1EE,4B7E9BA,+BFyjFF,CAnMF,CiFt5EI,yHFCF,WGDM,WlF05EN,C+E54EI,kBKfA,sBAAA,CADA,YpFk6EJ,C+E94EI,oB7EoPE,eF+pEN,CAVF","file":"component.print.min.css","sourcesContent":[null,"////\n/// Upload Print\n/// @group upload\n////\n\n@media print {\n @import 'index';\n @import 'style/print';\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","@charset \"UTF-8\";\n@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}\n@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}\n@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}\n@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}\n@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}\n@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}\n@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}\n@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}\n@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}\n@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}\n@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}\n@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}\n@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}\n@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}\n@media print {\n .fr-navigation {\n display: none;\n }\n}\n@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}\n@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}\n@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}\n@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}\n@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}\n@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","#{ns(skiplink)} {\n display: none;\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/connect/connect.print.css b/design_system_admin/dsfr/component/connect/connect.print.css new file mode 100644 index 0000000000000000000000000000000000000000..cf56bfea69710cf73187b79893a1d482812bf7db --- /dev/null +++ b/design_system_admin/dsfr/component/connect/connect.print.css @@ -0,0 +1,27 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-connect { + background-color: #000091; + color: #f5f5fe; + } + + .fr-connect:disabled, + a.fr-connect:not([href]) { + background-color: #e5e5e5; + color: #929292; + } + + .fr-connect-group .fr-connect + p a { + color: #000091; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-connect-group p { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } +} diff --git a/design_system_admin/dsfr/component/connect/connect.print.css.map b/design_system_admin/dsfr/component/connect/connect.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..e1d0c69c17a29c98e507dbc27734fa556ed93fc8 --- /dev/null +++ b/design_system_admin/dsfr/component/connect/connect.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/connect/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20p7kOJH%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,yBAAA;IAAA,cAAA;ECrCF;;ECeS;;IFsBP,yBAAA;IAAA,cAAA;ECjCF;;EEEI;IH+BF,cAAA;IIfF,eAAA;IAGE,mBAAA;EHlBF;;EEGI;IH2BF,WAAA;IIfF,eAAA;IAGE,mBAAA;EHfF;AASF","file":"connect.print.css","sourcesContent":[null,"////\n/// Connect Print\n/// @group connect\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _connect-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/connect/connect.print.min.css b/design_system_admin/dsfr/component/connect/connect.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..3db394ed9b805e77378c8d3cbbd6acc6d9cc0254 --- /dev/null +++ b/design_system_admin/dsfr/component/connect/connect.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-connect{background-color:#000091;color:#f5f5fe}.fr-connect:disabled,a.fr-connect:not([href]){background-color:#e5e5e5;color:#929292}.fr-connect-group .fr-connect+p a{color:#000091;font-size:1rem;line-height:1.5rem}.fr-connect-group p{color:#666;font-size:1rem;line-height:1.5rem}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/connect/connect.print.min.css.map b/design_system_admin/dsfr/component/connect/connect.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..1430c8fb821b64ddb9132355815bf5222604dcf3 --- /dev/null +++ b/design_system_admin/dsfr/component/connect/connect.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/connect/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20V7R4v-%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,YCgCE,wBAAA,CAAA,aCrCF,CCeS,8CFsBP,wBAAA,CAAA,aCjCF,CEEI,kCH+BF,aAAA,CIfF,cAAA,CAGE,kBHlBF,CEGI,oBH2BF,UAAA,CIfF,cAAA,CAGE,kBHfF,CASF","file":"connect.print.min.css","sourcesContent":[null,"////\n/// Connect Print\n/// @group connect\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _connect-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/consent/consent.print.css b/design_system_admin/dsfr/component/consent/consent.print.css new file mode 100644 index 0000000000000000000000000000000000000000..8424f79ef3d4134cecbca90914460efcf43cea0f --- /dev/null +++ b/design_system_admin/dsfr/component/consent/consent.print.css @@ -0,0 +1,43 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-consent-placeholder { + background-color: #eee; + } + + .fr-consent-banner { + background-color: #f6f6f6; + box-shadow: inset 0 0 0 1px #ddd; + display: none; + } + + .fr-consent-manager__header, + .fr-consent-service { + box-shadow: inset 0 -1px 0 0 #ddd; + color: #3a3a3a; + } + + .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before, + .fr-consent-service .fr-radio-group + .fr-radio-group::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-consent-service__title { + color: #161616; + } + + .fr-consent-service .fr-consent-service__collapse-btn { + color: #000091; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-consent-banner { + z-index: 1500; + } + + .fr-consent-service:last-of-type, + .fr-consent-service .fr-consent-service { + box-shadow: none; + } +} diff --git a/design_system_admin/dsfr/component/consent/consent.print.css.map b/design_system_admin/dsfr/component/consent/consent.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..6fede09788e6cd4eed8068ce7b6d49117519d6a8 --- /dev/null +++ b/design_system_admin/dsfr/component/consent/consent.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/consent/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20rBIQzm%3E","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,sBAAA;ECtCF;;EFUA;IC4BE,yBAAA;IAAA,gCAAA;IEvCA,aAAA;EDKF;;EFYA;;ICsBE,iCAAA;IAAA,cAAA;ECtBF;;EEHA;;IHyBE,gCAAA;EClBF;;EFWE;ICOA,cAAA;ECbF;;EFeE;ICFA,cAAA;ECFF;AA/BF;AGCI;ELIF;IMJM,aAAA;EJGN;;EF0BE;;ICyOI,gBAAA;EC7ON;AArBF","file":"consent.print.css","sourcesContent":[null,"////\n/// Consent Print\n/// @group consent\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _consent-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/consent/consent.print.min.css b/design_system_admin/dsfr/component/consent/consent.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..44131277b58251abd767245d8aa89bffee303476 --- /dev/null +++ b/design_system_admin/dsfr/component/consent/consent.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-consent-placeholder{background-color:#eee}.fr-consent-banner{background-color:#f6f6f6;box-shadow:inset 0 0 0 1px #ddd;display:none}.fr-consent-manager__header,.fr-consent-service{box-shadow:inset 0 -1px 0 0 #ddd;color:#3a3a3a}.fr-consent-manager__header .fr-radio-group+.fr-radio-group:before,.fr-consent-service .fr-radio-group+.fr-radio-group:before{box-shadow:inset 0 0 0 1px #ddd}.fr-consent-service__title{color:#161616}.fr-consent-service .fr-consent-service__collapse-btn{color:#000091}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-consent-banner{z-index:1500}.fr-consent-service .fr-consent-service,.fr-consent-service:last-of-type{box-shadow:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/consent/consent.print.min.css.map b/design_system_admin/dsfr/component/consent/consent.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4ee771ddb139b5a7417d46e9fd9f41b1d023df47 --- /dev/null +++ b/design_system_admin/dsfr/component/consent/consent.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/consent/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20MfO7lA%3E","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,wBCgCE,qBCtCF,CFUA,mBC4BE,wBAAA,CAAA,+BAAA,CEvCA,YDKF,CFYA,gDCsBE,gCAAA,CAAA,aCtBF,CEHA,8HHyBE,+BClBF,CFWE,2BCOA,aCbF,CFeE,sDCFA,aCFF,CA/BF,CGCI,+ELIF,mBMJM,YJGN,CF0BE,yECyOI,eC7ON,CArBF","file":"consent.print.min.css","sourcesContent":[null,"////\n/// Consent Print\n/// @group consent\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _consent-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/content/content.print.css b/design_system_admin/dsfr/component/content/content.print.css new file mode 100644 index 0000000000000000000000000000000000000000..3d3cfffc41c874a723ed7725a09c0b99b2d962ea --- /dev/null +++ b/design_system_admin/dsfr/component/content/content.print.css @@ -0,0 +1,25 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-content-media__caption, + .fr-content-media .fr-link { + color: #666; + } + + .fr-content-media__caption { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-content-media__caption .fr-link { + font-size: 1rem; + line-height: 1.5rem; + padding: 0 0; + } + + .fr-content-media__caption .fr-link::before, + .fr-content-media__caption .fr-link::after { + --icon-size: 1rem; + } +} diff --git a/design_system_admin/dsfr/component/content/content.print.css.map b/design_system_admin/dsfr/component/content/content.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8a96bdbaa66a9beeccd330e2241a280ae648910a --- /dev/null +++ b/design_system_admin/dsfr/component/content/content.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/content/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20O6fuqL%3E","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECII;;ICgCA,WAAA;ECrCF;;ECHA;ICyBA,eAAA;IAGE,mBAAA;EFrBF;;EGDE;ICKF,eAAA;IACA,mBAFc;IAsBd,YAAA;EJpBA;;EKGA;;IC0BE,iBAAA;EN1BF;AACF","file":"content.print.css","sourcesContent":[null,"////\n/// Content Print\n/// @group content\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _content-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/content/content.print.min.css b/design_system_admin/dsfr/component/content/content.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..15080d1e58a8a3d995750e8cde32261a1361f93f --- /dev/null +++ b/design_system_admin/dsfr/component/content/content.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-content-media .fr-link,.fr-content-media__caption{color:#666}.fr-content-media__caption{font-size:1rem;line-height:1.5rem}.fr-content-media__caption .fr-link{font-size:1rem;line-height:1.5rem;padding:0}.fr-content-media__caption .fr-link:after,.fr-content-media__caption .fr-link:before{--icon-size:1rem}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/content/content.print.min.css.map b/design_system_admin/dsfr/component/content/content.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4f829a1c41492873067b43d8c37105262714568c --- /dev/null +++ b/design_system_admin/dsfr/component/content/content.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/content/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20xlMpfC%3E","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCII,sDCgCA,UCrCF,CCHA,2BCyBA,cAAA,CAGE,kBFrBF,CGDE,oCCKF,cAAA,CACA,kBAFc,CAsBd,SJpBA,CKGA,qFC0BE,gBN1BF,CACF","file":"content.print.min.css","sourcesContent":[null,"////\n/// Content Print\n/// @group content\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _content-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/follow/follow.print.css b/design_system_admin/dsfr/component/follow/follow.print.css new file mode 100644 index 0000000000000000000000000000000000000000..7651d71ab71938968b522fc59ba9c10ad8455c94 --- /dev/null +++ b/design_system_admin/dsfr/component/follow/follow.print.css @@ -0,0 +1,74 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; +@media print { + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + .fr-follow { + background-color: #f5f5fe; + } + + .fr-follow .fr-input { + background-color: #fff; + } + + .fr-follow__title { + color: #161616; + } + + .fr-follow__newsletter-legal { + color: #666; + } + + .fr-follow__social .fr-btn { + color: #000091; + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + color: #929292; + } + + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: 0 -1px 0 0 #6a6af4; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-follow__social .fr-btn { + background-color: transparent; + } + + .fr-follow__social .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-follow__social .fr-btn:disabled:hover, + .fr-follow__social a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:disabled:active, + .fr-follow__social a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } +} +@media print and (min-width: 48em) { + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: -1px 0 0 0 #6a6af4; + } +} diff --git a/design_system_admin/dsfr/component/follow/follow.print.css.map b/design_system_admin/dsfr/component/follow/follow.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4d81b9832fdb16b83fed41acd87ef7b48e769a6d --- /dev/null +++ b/design_system_admin/dsfr/component/follow/follow.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20KvvYtS%3E","file:///Users/ket/Documents/work/dsfr/src/component/follow/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_breakpoint.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;ACKhB;ECAA;;IAAA;;EAWA;;IAAA;ECRE;ICiCE,yBAAA;EJ/BF;;EGCE;IC8BA,sBAAA;EJ5BF;;EGEE;IC0BA,cAAA;EJzBF;;EGII;ICqBF,WAAA;EJtBF;;EGOI;ICeF,cAAA;EJnBF;;EKHS;;IDsBP,cAAA;EJHF;;EGPE;ICUA,8BAAA;EJaF;AA/BF;AMdI;EHiBE;IC8FA,6BAAA;EJ7FJ;;EIgGM;IACE,qCAAA;EJ9FR;;EIiGM;IACE,oCAAA;EJ/FR;;EKdS;;IDqGL,6BAAA;EJ7EJ;;EIgFM;;IACE,qCAAA;EJ9ER;;EIiFM;;IACE,oCAAA;EJ/ER;AAfF;AOhBI;EJaA;ICUA,8BAAA;EJkBF;AACF","file":"follow.print.css","sourcesContent":[null,"@charset \"UTF-8\";\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}","////\n/// Follow Print\n/// @group follow\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _follow-scheme('print');\n}\n","////\n/// Follow Tool\n/// @group follow\n////\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image($icon, before);\n }\n }\n}\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons-legacy() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image-legacy($icon, before);\n }\n }\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Core Tool : Selector Breakpoint\n/// @group core\n////\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get($breakpoints, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-to(md) {\n/// }\n/// }\n@mixin respond-to($media) {\n\n @debug 'afin de rester mobile first, n‘utiliser la mixin respond-to uniquement s‘il n‘y a pas d‘autre alternative, lui préférer systématiquement la mixin respond-from';\n\n $limits: map_get($breakpoints, $media);\n\n @if $limits != null and length($limits) == 2 {\n @media (max-width: nth($limits, 2)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/follow/follow.print.min.css b/design_system_admin/dsfr/component/follow/follow.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..f7ac59ec011937f43fd6494e4443936c08c14a00 --- /dev/null +++ b/design_system_admin/dsfr/component/follow/follow.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-follow{background-color:#f5f5fe}.fr-follow .fr-input{background-color:#fff}.fr-follow__title{color:#161616}.fr-follow__newsletter-legal{color:#666}.fr-follow__social .fr-btn{color:#000091}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){color:#929292}.fr-follow .fr-grid-row>:not(:first-child){box-shadow:0 -1px 0 0 #6a6af4}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-follow__social .fr-btn{background-color:transparent}.fr-follow__social .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){background-color:transparent}.fr-follow__social .fr-btn:disabled:hover,.fr-follow__social a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:disabled:active,.fr-follow__social a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}}@media print and (min-width:48em){.fr-follow .fr-grid-row>:not(:first-child){box-shadow:-1px 0 0 0 #6a6af4}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/follow/follow.print.min.css.map b/design_system_admin/dsfr/component/follow/follow.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..f280208ed2b587c604041b9596c64b05f5acba9c --- /dev/null +++ b/design_system_admin/dsfr/component/follow/follow.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/follow/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20f_zlqq%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_breakpoint.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,WCiCE,wBC/BF,CFCE,qBC8BA,qBC5BF,CFEE,kBC0BA,aCzBF,CFII,6BCqBF,UCtBF,CFOI,2BCeF,aCnBF,CCHS,4EFsBP,aCHF,CFPE,2CCUA,6BCaF,CA/BF,CEdI,+EJiBE,2BC8FA,4BC7FJ,CDgGM,iCACE,gCC9FR,CDiGM,kCACE,+BC/FR,CCdS,4EFqGL,4BC7EJ,CDgFM,wFACE,gCC9ER,CDiFM,0FACE,+BC/ER,CAfF,CGhBI,kCLaA,2CCUA,6BCkBF,CACF","file":"follow.print.min.css","sourcesContent":[null,"////\n/// Follow Print\n/// @group follow\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _follow-scheme('print');\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@charset \"UTF-8\";\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Core Tool : Selector Breakpoint\n/// @group core\n////\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get($breakpoints, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-to(md) {\n/// }\n/// }\n@mixin respond-to($media) {\n\n @debug 'afin de rester mobile first, n‘utiliser la mixin respond-to uniquement s‘il n‘y a pas d‘autre alternative, lui préférer systématiquement la mixin respond-from';\n\n $limits: map_get($breakpoints, $media);\n\n @if $limits != null and length($limits) == 2 {\n @media (max-width: nth($limits, 2)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/footer/footer.print.css b/design_system_admin/dsfr/component/footer/footer.print.css new file mode 100644 index 0000000000000000000000000000000000000000..378f06bac03d2d5461991d6bcac891a165feac3c --- /dev/null +++ b/design_system_admin/dsfr/component/footer/footer.print.css @@ -0,0 +1,54 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-footer { + box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd; + display: none; + } + + .fr-footer__content-link { + color: #3a3a3a; + } + + .fr-footer__top-cat { + color: #161616; + } + + .fr-footer__top { + background-color: #f6f6f6; + } + + .fr-footer__bottom { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__bottom .fr-btn { + color: #666; + } + + .fr-footer__bottom-item::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-footer__bottom-link { + color: #666; + } + + .fr-footer__bottom-copy { + color: #666; + } + + .fr-footer__partners { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__partners-title { + color: #3a3a3a; + } + + .fr-footer__partners .fr-footer__logo { + background-color: #fff; + box-shadow: inset 0 0 0 1px #ddd; + } +} diff --git a/design_system_admin/dsfr/component/footer/footer.print.css.map b/design_system_admin/dsfr/component/footer/footer.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..e2121b0af9caca12114c2178c5816bc78a47797b --- /dev/null +++ b/design_system_admin/dsfr/component/footer/footer.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/footer/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_print.scss","%3Cinput%20css%20yAei9Y%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,0DAAA;ICxCF,aAAA;ECEA;;EHQE;IC8BA,cAAA;EEnCF;;EHSE;IC0BA,cAAA;EEhCF;;EHUE;ICsBA,yBAAA;EE7BF;;EHWE;ICkBA,gCAAA;EE1BF;;EHUI;ICgBF,WAAA;EEvBF;;ECFA;IHyBE,gCAAA;EEpBF;;EHeE;ICKA,WAAA;EEjBF;;EHgBE;ICCA,WAAA;EEdF;;EHiBE;ICHA,gCAAA;EEXF;;EHiBI;ICNF,cAAA;EERF;;EHkBI;ICVF,sBAAA;IAAA,gCAAA;EEJF;AAIF","file":"footer.print.css","sourcesContent":[null,"////\n/// Footer Print\n/// @group footer\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _footer-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(footer)} {\n display: none;\n}\n","@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/footer/footer.print.min.css b/design_system_admin/dsfr/component/footer/footer.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..57a97f7264302557b99eca95d72256f0453ce2e2 --- /dev/null +++ b/design_system_admin/dsfr/component/footer/footer.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-footer{box-shadow:inset 0 2px 0 0 #000091,inset 0 -1px 0 0 #ddd;display:none}.fr-footer__content-link{color:#3a3a3a}.fr-footer__top-cat{color:#161616}.fr-footer__top{background-color:#f6f6f6}.fr-footer__bottom{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__bottom .fr-btn{color:#666}.fr-footer__bottom-item:before{box-shadow:inset 0 0 0 1px #ddd}.fr-footer__bottom-copy,.fr-footer__bottom-link{color:#666}.fr-footer__partners{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__partners-title{color:#3a3a3a}.fr-footer__partners .fr-footer__logo{background-color:#fff;box-shadow:inset 0 0 0 1px #ddd}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/footer/footer.print.min.css.map b/design_system_admin/dsfr/component/footer/footer.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..18851c5f5bacef3dda521058cf3331141dfd52d9 --- /dev/null +++ b/design_system_admin/dsfr/component/footer/footer.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/footer/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_print.scss","%3Cinput%20css%20DS7q_m%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,WCiCE,wDAAA,CCxCF,YCEA,CHQE,yBC8BA,aEnCF,CHSE,oBC0BA,aEhCF,CHUE,gBCsBA,wBE7BF,CHWE,mBCkBA,+BE1BF,CHUI,2BCgBF,UEvBF,CCFA,+BHyBE,+BEpBF,CHmBE,gDCCA,UEdF,CHiBE,qBCHA,+BEXF,CHiBI,2BCNF,aERF,CHkBI,sCCVF,qBAAA,CAAA,+BEJF,CAIF","file":"footer.print.min.css","sourcesContent":[null,"////\n/// Footer Print\n/// @group footer\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _footer-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(footer)} {\n display: none;\n}\n","@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/form/form.print.css b/design_system_admin/dsfr/component/form/form.print.css new file mode 100644 index 0000000000000000000000000000000000000000..59631df792e5f54a5ff66f3b46ffc9ff18913bea --- /dev/null +++ b/design_system_admin/dsfr/component/form/form.print.css @@ -0,0 +1,122 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-select-group--valid label, + .fr-input-group--valid label, + .fr-range-group--valid label, + .fr-upload-group--valid label { + color: #18753c; + } + + .fr-select-group--error label, + .fr-input-group--error label, + .fr-range-group--error label, + .fr-upload-group--error label { + color: #ce0500; + } + + .fr-select-group--info label, + .fr-input-group--info label, + .fr-range-group--info label, + .fr-upload-group--info label { + color: #0063cb; + } + + .fr-select-group--disabled label, + .fr-select-group--disabled .fr-hint-text, + .fr-input-group--disabled label, + .fr-input-group--disabled .fr-hint-text, + .fr-range-group--disabled label, + .fr-range-group--disabled .fr-hint-text, + .fr-upload-group--disabled label, + .fr-upload-group--disabled .fr-hint-text { + color: #929292; + } + + .fr-label { + color: #161616; + } + + .fr-label--error { + color: #ce0500; + } + + .fr-label--success { + color: #18753c; + } + + .fr-label--info { + color: #0063cb; + } + + .fr-label--disabled, + .fr-label--disabled .fr-hint-text { + color: #929292; + } + + .fr-hint-text, + .fr-message { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-message--error { + color: #ce0500; + } + + .fr-message--valid { + color: #18753c; + } + + .fr-message--info { + color: #0063cb; + } + + .fr-fieldset:disabled .fr-label, + .fr-fieldset:disabled .fr-hint-text, + .fr-fieldset:disabled .fr-fieldset__legend { + color: #929292; + } + + .fr-fieldset input:disabled + label, + .fr-fieldset input:disabled + label .fr-hint-text, + .fr-fieldset input:disabled + label + .fr-hint-text { + color: #929292; + } + + .fr-fieldset__legend { + color: #161616; + } + + .fr-fieldset--error, + .fr-fieldset--error .fr-fieldset__legend { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-fieldset--error .fr-fieldset__legend, + .fr-fieldset--error .fr-label { + color: #ce0500; + } + + .fr-fieldset--valid, + .fr-fieldset--valid .fr-fieldset__legend { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-fieldset--valid .fr-fieldset__legend, + .fr-fieldset--valid .fr-label { + color: #18753c; + } + + .fr-fieldset--info, + .fr-fieldset--info .fr-fieldset__legend { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-fieldset--info .fr-fieldset__legend, + .fr-fieldset--info .fr-label { + color: #0063cb; + } +} diff --git a/design_system_admin/dsfr/component/form/form.print.css.map b/design_system_admin/dsfr/component/form/form.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4473842744fd1de8f8e13949807d9c4a5f0dc8ea --- /dev/null +++ b/design_system_admin/dsfr/component/form/form.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/form/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20CLwsBb%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECMM;;;;IC8BF,cAAA;ECtCF;;EFcI;;;;ICwBF,cAAA;ECnCF;;EFiBI;;;;ICkBF,cAAA;EChCF;;EFoBI;;;;;;;;ICYF,cAAA;ECzBF;;EFoBA;ICKE,cAAA;ECtBF;;EFoBE;ICEA,cAAA;ECnBF;;EFqBE;ICFA,cAAA;EChBF;;EFsBE;ICNA,cAAA;ECbF;;EFwBI;;ICXF,cAAA;ECVF;;EF4BA;;IClBE,WAAA;IEfF,eAAA;IAGE,mBAAA;EDMF;;EF8BE;ICxBA,cAAA;ECHF;;EF+BE;IC5BA,cAAA;ECAF;;EFgCE;IChCA,cAAA;ECGF;;EFoCI;;;ICvCF,cAAA;ECQF;;EFwCM;;;IChDJ,cAAA;ECaF;;EF2CE;ICxDA,cAAA;ECgBF;;EF4CE;;IC5DA,yDAAA;ECmBF;;EF8CE;;ICjEA,cAAA;ECsBF;;EFgDE;;ICtEA,yDAAA;ECyBF;;EFkDE;;IC3EA,cAAA;EC4BF;;EFoDE;;IChFA,yDAAA;EC+BF;;EFsDE;;ICrFA,cAAA;ECkCF;AAMF","file":"form.print.css","sourcesContent":[null,"////\n/// Form Print\n/// @group form\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _form-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/form/form.print.min.css b/design_system_admin/dsfr/component/form/form.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..42fa8de3baa787f984dd0d3fa8d48aa6fb789483 --- /dev/null +++ b/design_system_admin/dsfr/component/form/form.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-input-group--valid label,.fr-range-group--valid label,.fr-select-group--valid label,.fr-upload-group--valid label{color:#18753c}.fr-input-group--error label,.fr-range-group--error label,.fr-select-group--error label,.fr-upload-group--error label{color:#ce0500}.fr-input-group--info label,.fr-range-group--info label,.fr-select-group--info label,.fr-upload-group--info label{color:#0063cb}.fr-input-group--disabled .fr-hint-text,.fr-input-group--disabled label,.fr-range-group--disabled .fr-hint-text,.fr-range-group--disabled label,.fr-select-group--disabled .fr-hint-text,.fr-select-group--disabled label,.fr-upload-group--disabled .fr-hint-text,.fr-upload-group--disabled label{color:#929292}.fr-label{color:#161616}.fr-label--error{color:#ce0500}.fr-label--success{color:#18753c}.fr-label--info{color:#0063cb}.fr-label--disabled,.fr-label--disabled .fr-hint-text{color:#929292}.fr-hint-text,.fr-message{color:#666;font-size:1rem;line-height:1.5rem}.fr-message--error{color:#ce0500}.fr-message--valid{color:#18753c}.fr-message--info{color:#0063cb}.fr-fieldset input:disabled+label,.fr-fieldset input:disabled+label .fr-hint-text,.fr-fieldset input:disabled+label+.fr-hint-text,.fr-fieldset:disabled .fr-fieldset__legend,.fr-fieldset:disabled .fr-hint-text,.fr-fieldset:disabled .fr-label{color:#929292}.fr-fieldset__legend{color:#161616}.fr-fieldset--error,.fr-fieldset--error .fr-fieldset__legend{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-fieldset--error .fr-fieldset__legend,.fr-fieldset--error .fr-label{color:#ce0500}.fr-fieldset--valid,.fr-fieldset--valid .fr-fieldset__legend{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-fieldset--valid .fr-fieldset__legend,.fr-fieldset--valid .fr-label{color:#18753c}.fr-fieldset--info,.fr-fieldset--info .fr-fieldset__legend{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-fieldset--info .fr-fieldset__legend,.fr-fieldset--info .fr-label{color:#0063cb}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/form/form.print.min.css.map b/design_system_admin/dsfr/component/form/form.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..c50f02414e4b05fa2a717e2063be6abf32cb0a36 --- /dev/null +++ b/design_system_admin/dsfr/component/form/form.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/form/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20H0rOjG%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCMM,sHC8BF,aCtCF,CFcI,sHCwBF,aCnCF,CFiBI,kHCkBF,aChCF,CFoBI,oSCYF,aCzBF,CFoBA,UCKE,aCtBF,CFoBE,iBCEA,aCnBF,CFqBE,mBCFA,aChBF,CFsBE,gBCNA,aCbF,CFwBI,sDCXF,aCVF,CF4BA,0BClBE,UAAA,CEfF,cAAA,CAGE,kBDMF,CF8BE,mBCxBA,aCHF,CF+BE,mBC5BA,aCAF,CFgCE,kBChCA,aCGF,CF6CM,iPChDJ,aCaF,CF2CE,qBCxDA,aCgBF,CF4CE,6DC5DA,sDCmBF,CF8CE,uECjEA,aCsBF,CFgDE,6DCtEA,sDCyBF,CFkDE,uEC3EA,aC4BF,CFoDE,2DChFA,sDC+BF,CFsDE,qECrFA,aCkCF,CAMF","file":"form.print.min.css","sourcesContent":[null,"////\n/// Form Print\n/// @group form\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _form-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/header/header.print.css b/design_system_admin/dsfr/component/header/header.print.css new file mode 100644 index 0000000000000000000000000000000000000000..6b1c56bd9f5e3f32cfe79bbd79ee186d7d402995 --- /dev/null +++ b/design_system_admin/dsfr/component/header/header.print.css @@ -0,0 +1,257 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-header__brand { + background-color: #fff; + flex-wrap: nowrap; + } + + .fr-header__service { + color: #161616; + box-shadow: inset 0 1px 0 0 #ddd; + box-shadow: none; + } + + .fr-header__menu-links::after { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-header__menu-links .fr-btn { + color: #000091; + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links .fr-btn { + color: #000091; + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header__navbar .fr-service__title { + color: #161616; + } + + .fr-header__navbar .fr-btn { + color: #000091; + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__navbar .fr-btn--menu { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header .fr-modal { + background-color: #fff; + } + + .fr-header__menu { + display: none; + } + + .fr-header__body-row { + padding: 0; + } + + .fr-header__body .fr-header__tools, + .fr-header__body .fr-header__navbar { + display: none; + } + + .fr-header__brand-top { + width: auto; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-header__brand { + z-index: 750; + } + + .fr-header__menu-links .fr-btn { + background-color: transparent; + box-shadow: none; + } + + .fr-header__menu-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__menu-links .fr-btn:disabled:hover, + .fr-header__menu-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:disabled:active, + .fr-header__menu-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:disabled:hover, + .fr-header__tools-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:disabled:active, + .fr-header__tools-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:disabled:hover, + .fr-header__navbar a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:disabled:active, + .fr-header__navbar a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:disabled:hover, + .fr-header__navbar a.fr-btn--menu:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:disabled:active, + .fr-header__navbar a.fr-btn--menu:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } +} +@media print and (min-width: 62em) { + .fr-header { + background-color: #fff; + } + + .fr-header .fr-header__menu { + box-shadow: inset 0 1px 0 0 #ddd; + } +} +@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) { + .fr-header { + z-index: 750; + } + + .fr-header__brand { + z-index: auto; + background: transparent; + } + + .fr-header__service { + box-shadow: none; + } +} diff --git a/design_system_admin/dsfr/component/header/header.print.css.map b/design_system_admin/dsfr/component/header/header.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..201867b5819a99aa8703d8c228bc6dfe1db6b064 --- /dev/null +++ b/design_system_admin/dsfr/component/header/header.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/header/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","%3Cinput%20css%20NGDlQf%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECMI;IC8BA,sBAAA;ICxBA,iBAAA;ECdF;;EHYE;IC0BA,cAAA;IAAA,gCAAA;IChBA,gBAAA;ECXF;;ECEA;IHyBE,gCAAA;EEDF;;EHHI;ICIF,cAAA;EEEF;;EExBS;;IJsBP,cAAA;EEkBF;;EHfI;ICHF,cAAA;EEuCF;;EE7DS;;IJsBP,cAAA;EEuDF;;EH/CM;ICRJ,cAAA;IAAA,gCAAA;EEwEF;;EE9FS;;IJsBP,cAAA;IAAA,mCAAA;EEyFF;;EG5HA;ILmCE,cAAA;EEyGF;;EHpFI;ICrBF,cAAA;EE4GF;;EElIS;;IJsBP,cAAA;EE4HF;;EHpGM;ICxBJ,cAAA;IAAA,gCAAA;EE6IF;;EEnKS;;IJsBP,cAAA;IAAA,mCAAA;EE8JF;;EH1HE;ICpCA,sBAAA;EEmLF;;ED3NA;IACE,aAAA;EC+NF;;ED3NE;IK2BA,UAfE;EJkNJ;;ED1NE;;IAEE,aAAA;EC4NJ;;EDrNE;IACE,WAAA;EC0NJ;AA1OF;AKKI;EREA;ISFI,YAAA;ENDN;;EH6BI;ICmFA,6BAAA;IAuJE,gBAAA;EE/NN;;EF2EM;IACE,qCAAA;EEzER;;EF4EM;IACE,oCAAA;EE1ER;;EEnCS;;IJqGL,6BAAA;EExDJ;;EF2DM;;IACE,qCAAA;EEzDR;;EF4DM;;IACE,oCAAA;EE1DR;;EH1BI;IC4EA,6BAAA;EEnCJ;;EFsCM;IACE,qCAAA;EEpCR;;EFuCM;IACE,oCAAA;EErCR;;EExES;;IJqGL,6BAAA;EEnBJ;;EFsBM;;IACE,qCAAA;EEpBR;;EFuBM;;IACE,oCAAA;EErBR;;EH1DM;ICuEF,6BAAA;EEFJ;;EFKM;IACE,qCAAA;EEHR;;EFMM;IACE,oCAAA;EEJR;;EEzGS;;IJqGL,6BAAA;EEeJ;;EFZM;;IACE,qCAAA;EEcR;;EFXM;;IACE,oCAAA;EEaR;;EH/EI;IC0DA,6BAAA;EEkCJ;;EF/BM;IACE,qCAAA;EEiCR;;EF9BM;IACE,oCAAA;EEgCR;;EE7IS;;IJqGL,6BAAA;EEkDJ;;EF/CM;;IACE,qCAAA;EEiDR;;EF9CM;;IACE,oCAAA;EEgDR;;EH/GM;ICuDF,6BAAA;EEmEJ;;EFhEM;IACE,qCAAA;EEkER;;EF/DM;IACE,oCAAA;EEiER;;EE9KS;;IJqGL,6BAAA;EEoFJ;;EFjFM;;IACE,qCAAA;EEmFR;;EFhFM;;IACE,oCAAA;EEkFR;AAzMF;AOMI;EVLF;IC+BE,sBAAA;EEtBF;;EHoDE;IC9BA,gCAAA;EE8KF;AAnMF;AKXI;ERCF;ISDM,YAAA;ENeN;;EHDI;IWhBA,aAAA;IACA,uBAAA;ERsBJ;;EHHI;ICoPE,gBAAA;EE5ON;AAVF","file":"header.print.css","sourcesContent":[null,"////\n/// Header Print\n/// @group header\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _header-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/header/header.print.min.css b/design_system_admin/dsfr/component/header/header.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..4d33ee6e057ebd240f3fc94b93ba8aa1def06dca --- /dev/null +++ b/design_system_admin/dsfr/component/header/header.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-header__brand{background-color:#fff;flex-wrap:nowrap}.fr-header__service{box-shadow:inset 0 1px 0 0 #ddd;box-shadow:none;color:#161616}.fr-header__menu-links:after{box-shadow:inset 0 1px 0 0 #ddd}.fr-header__menu-links .fr-btn{color:#000091}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links .fr-btn{color:#000091}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header__navbar .fr-service__title{color:#161616}.fr-header__navbar .fr-btn{color:#000091}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){color:#929292}.fr-header__navbar .fr-btn--menu{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header .fr-modal{background-color:#fff}.fr-header__menu{display:none}.fr-header__body-row{padding:0}.fr-header__body .fr-header__navbar,.fr-header__body .fr-header__tools{display:none}.fr-header__brand-top{width:auto}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-header__brand{z-index:750}.fr-header__menu-links .fr-btn{background-color:transparent;box-shadow:none}.fr-header__menu-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){background-color:transparent}.fr-header__menu-links .fr-btn:disabled:hover,.fr-header__menu-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:disabled:active,.fr-header__menu-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn{background-color:transparent}.fr-header__tools-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links .fr-btn:disabled:hover,.fr-header__tools-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:disabled:active,.fr-header__tools-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:hover,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:active,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn{background-color:transparent}.fr-header__navbar .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){background-color:transparent}.fr-header__navbar .fr-btn:disabled:hover,.fr-header__navbar a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:disabled:active,.fr-header__navbar a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu{background-color:transparent}.fr-header__navbar .fr-btn--menu:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){background-color:transparent}.fr-header__navbar .fr-btn--menu:disabled:hover,.fr-header__navbar a.fr-btn--menu:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:disabled:active,.fr-header__navbar a.fr-btn--menu:not([href]):active{background-color:rgba(0,0,0,.1)}}@media print and (min-width:62em){.fr-header{background-color:#fff}.fr-header .fr-header__menu{box-shadow:inset 0 1px 0 0 #ddd}}@media print and (min-width:62em) and (-ms-high-contrast:active),print and (min-width:62em) and (-ms-high-contrast:none){.fr-header{z-index:750}.fr-header__brand{background:transparent;z-index:auto}.fr-header__service{box-shadow:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/header/header.print.min.css.map b/design_system_admin/dsfr/component/header/header.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..317a74473a431db3cac70bee2393670e2732020a --- /dev/null +++ b/design_system_admin/dsfr/component/header/header.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/header/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","%3Cinput%20css%20Q8Nj48%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCMI,kBC8BA,qBAAA,CCxBA,gBCdF,CHYE,oBC0BA,+BAAA,CChBA,eAAA,CDgBA,aE3BF,CCEA,6BHyBE,+BEDF,CHHI,+BCIF,aEEF,CExBS,oFJsBP,aEkBF,CHfI,gCCHF,aEuCF,CE7DS,sFJsBP,aEuDF,CH/CM,qECRJ,+BAAA,CAAA,aEwEF,CE9FS,gKJsBP,kCAAA,CAAA,aEyFF,CG5HA,sCLmCE,aEyGF,CHpFI,2BCrBF,aE4GF,CElIS,4EJsBP,aE4HF,CHpGM,iCCxBJ,+BAAA,CAAA,aE6IF,CEnKS,wFJsBP,kCAAA,CAAA,aE8JF,CH1HE,qBCpCA,qBEmLF,CD3NA,iBACE,YC+NF,CD3NE,qBK2BA,SJmMF,CD1NE,uEAEE,YC4NJ,CDrNE,sBACE,UC0NJ,CA1OF,CKKI,+EREA,kBSFI,WNDN,CH6BI,+BCmFA,4BAAA,CAuJE,eE/NN,CF2EM,qCACE,gCEzER,CF4EM,sCACE,+BE1ER,CEnCS,oFJqGL,4BExDJ,CF2DM,gGACE,gCEzDR,CF4DM,kGACE,+BE1DR,CH1BI,gCC4EA,4BEnCJ,CFsCM,sCACE,gCEpCR,CFuCM,uCACE,+BErCR,CExES,sFJqGL,4BEnBJ,CFsBM,kGACE,gCEpBR,CFuBM,oGACE,+BErBR,CH1DM,qECuEF,4BEFJ,CFKM,2EACE,gCEHR,CFMM,4EACE,+BEJR,CEzGS,gKJqGL,4BEeJ,CFZM,4KACE,gCEcR,CFXM,8KACE,+BEaR,CH/EI,2BC0DA,4BEkCJ,CF/BM,iCACE,gCEiCR,CF9BM,kCACE,+BEgCR,CE7IS,4EJqGL,4BEkDJ,CF/CM,wFACE,gCEiDR,CF9CM,0FACE,+BEgDR,CH/GM,iCCuDF,4BEmEJ,CFhEM,uCACE,gCEkER,CF/DM,wCACE,+BEiER,CE9KS,wFJqGL,4BEoFJ,CFjFM,oGACE,gCEmFR,CFhFM,sGACE,+BEkFR,CAzMF,COMI,kCVLF,WC+BE,qBEtBF,CHoDE,4BC9BA,+BE8KF,CAnMF,CKXI,yHRCF,WSDM,WNeN,CHDI,kBWfA,sBAAA,CADA,YRuBJ,CHHI,oBCoPE,eE5ON,CAVF","file":"header.print.min.css","sourcesContent":[null,"////\n/// Header Print\n/// @group header\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _header-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/highlight/highlight.print.css b/design_system_admin/dsfr/component/highlight/highlight.print.css new file mode 100644 index 0000000000000000000000000000000000000000..8b810716e8fc99f2d7472ba5f74108923298434d --- /dev/null +++ b/design_system_admin/dsfr/component/highlight/highlight.print.css @@ -0,0 +1,76 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-highlight { + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-highlight--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-highlight--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-highlight--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-highlight--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-highlight--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-highlight--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-highlight--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-highlight--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-highlight--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-highlight--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-highlight--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-highlight--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-highlight--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-highlight--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-highlight--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-highlight--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-highlight--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + } +} diff --git a/design_system_admin/dsfr/component/highlight/highlight.print.css.map b/design_system_admin/dsfr/component/highlight/highlight.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b0dcc40b59e94d0416a878c5a215719715e5e745 --- /dev/null +++ b/design_system_admin/dsfr/component/highlight/highlight.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/highlight/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%202bPHqU%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,yDAAA;ECtCF;;ECOI;IF+BF,yDAAA;ECnCF;;ECII;IF+BF,yDAAA;EChCF;;ECCI;IF+BF,yDAAA;EC7BF;;ECFI;IF+BF,yDAAA;EC1BF;;ECLI;IF+BF,yDAAA;ECvBF;;ECRI;IF+BF,yDAAA;ECpBF;;ECXI;IF+BF,yDAAA;ECjBF;;ECdI;IF+BF,yDAAA;ECdF;;ECjBI;IF+BF,yDAAA;ECXF;;ECpBI;IF+BF,yDAAA;ECRF;;ECvBI;IF+BF,yDAAA;ECLF;;EC1BI;IF+BF,yDAAA;ECFF;;EC7BI;IF+BF,yDAAA;ECCF;;EChCI;IF+BF,yDAAA;ECIF;;ECnCI;IF+BF,yDAAA;ECOF;;ECtCI;IF+BF,yDAAA;ECUF;;ECzCI;IF+BF,yDAAA;ECaF;AACF","file":"highlight.print.css","sourcesContent":[null,"////\n/// Highlight Print\n/// @group highlight\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _highlight-scheme('print');\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/highlight/highlight.print.min.css b/design_system_admin/dsfr/component/highlight/highlight.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0e70d98dd9e52806a7444db19ad7a76cc8afae7d --- /dev/null +++ b/design_system_admin/dsfr/component/highlight/highlight.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-highlight{background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-highlight--green-tilleul-verveine{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-highlight--green-bourgeon{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-highlight--green-emeraude{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-highlight--green-menthe{background-image:linear-gradient(0deg,#009081,#009081)}.fr-highlight--green-archipel{background-image:linear-gradient(0deg,#009099,#009099)}.fr-highlight--blue-ecume{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-highlight--blue-cumulus{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-highlight--purple-glycine{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-highlight--pink-macaron{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-highlight--pink-tuile{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-highlight--yellow-tournesol{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-highlight--yellow-moutarde{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-highlight--orange-terre-battue{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-highlight--brown-cafe-creme{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-highlight--brown-caramel{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-highlight--brown-opera{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-highlight--beige-gris-galet{background-image:linear-gradient(0deg,#aea397,#aea397)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/highlight/highlight.print.min.css.map b/design_system_admin/dsfr/component/highlight/highlight.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..927e2c67b3ec762cf5dd6907ad97916a378eae97 --- /dev/null +++ b/design_system_admin/dsfr/component/highlight/highlight.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/highlight/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20XSumI4%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,cCiCE,sDCtCF,CCOI,sCF+BF,sDCnCF,CCII,8BF+BF,sDChCF,CCCI,8BF+BF,sDC7BF,CCFI,4BF+BF,sDC1BF,CCLI,8BF+BF,sDCvBF,CCRI,0BF+BF,sDCpBF,CCXI,4BF+BF,sDCjBF,CCdI,8BF+BF,sDCdF,CCjBI,4BF+BF,sDCXF,CCpBI,0BF+BF,sDCRF,CCvBI,gCF+BF,sDCLF,CC1BI,+BF+BF,sDCFF,CC7BI,mCF+BF,sDCCF,CChCI,gCF+BF,sDCIF,CCnCI,6BF+BF,sDCOF,CCtCI,2BF+BF,sDCUF,CCzCI,gCF+BF,sDCaF,CACF","file":"highlight.print.min.css","sourcesContent":[null,"////\n/// Highlight Print\n/// @group highlight\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _highlight-scheme('print');\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input-base/input-base.print.css b/design_system_admin/dsfr/component/input/input-base/input-base.print.css new file mode 100644 index 0000000000000000000000000000000000000000..93e75e191a2d33c8718a31cdc0934a8cff87f454 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input-base/input-base.print.css @@ -0,0 +1,71 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-input { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + } + + .fr-input::placeholder { + color: #666; + } + + .fr-input::-webkit-contacts-auto-fill-button { + background-color: #161616; + } + + .fr-input::-webkit-contacts-auto-fill-button:hover { + background-color: #343434; + } + + .fr-input::-webkit-contacts-auto-fill-button:active { + background-color: #474747; + } + + .fr-input:disabled { + color: var(--text-disabled-grey); + box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey); + } + + .fr-input:autofill, + .fr-input:autofill:hover, + .fr-input:autofill:focus, + .fr-input:-webkit-autofill, + .fr-input:-webkit-autofill:hover, + .fr-input:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff; + -webkit-text-fill-color: #161616; + } + + .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-fieldset--valid .fr-input, + .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--valid .fr-input, + .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-input, + .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--error .fr-input, + .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-input-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-input-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-input-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } +} diff --git a/design_system_admin/dsfr/component/input/input-base/input-base.print.css.map b/design_system_admin/dsfr/component/input/input-base/input-base.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..1fd57fef13dbca4c59bd1ec0fb6586fe221afa02 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input-base/input-base.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20qIoFDf%3E","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;ECpCF;;ECWA;IFyBE,WAAA;ECjCF;;ECcA;IFmBE,yBAAA;EC9BF;;EETE;IHuFA,yBAAA;EC3EF;;EEZE;IHuFA,yBAAA;ECxEF;;EGES;IJsBP,gCAAA;IAAA,wDAAA;ECpBF;;EIfA;;;;;;ILmCE,gEAAA;IAAA,gCAAA;EChBF;;EFiBI;ICDF,oCAAA;ECbF;;EFqBI;;;;ICRF,oCAAA;ECRF;;EFwBI;;;;IChBF,oCAAA;ECHF;;EKtBA;INyBE,yDAAA;ECAF;;EKzBA;INyBE,yDAAA;ECGF;;EK5BA;INyBE,yDAAA;ECMF;AACF","file":"input-base.print.css","sourcesContent":[null,"////\n/// Input-Base Print\n/// @group input-base\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _input-scheme('print');\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css b/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..cefaf030319bfae7fd809ff55fc5ccf6bfa3d6d3 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-input{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-input::placeholder{color:#666}.fr-input::-webkit-contacts-auto-fill-button{background-color:#161616}.fr-input::-webkit-contacts-auto-fill-button:hover{background-color:#343434}.fr-input::-webkit-contacts-auto-fill-button:active{background-color:#474747}.fr-input:disabled{box-shadow:inset 0 -2px 0 0 var(--border-disabled-grey);color:var(--text-disabled-grey)}.fr-input:-webkit-autofill,.fr-input:-webkit-autofill:focus,.fr-input:-webkit-autofill:hover,.fr-input:autofill,.fr-input:autofill:focus,.fr-input:autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #e8edff}.fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #000091}.fr-fieldset--valid .fr-input,.fr-fieldset--valid .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--valid .fr-input,.fr-input-group--valid .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-input,.fr-fieldset--error .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--error .fr-input,.fr-input-group--error .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #ce0500}.fr-input-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-input-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-input-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css.map b/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..c942eef155238e092527db78b9f7d3ed7ec20ac1 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input-base/input-base.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20GJ8oMI%3E","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,UCgCE,qBAAA,CAAA,mCAAA,CAAA,aCpCF,CCWA,uBFyBE,UCjCF,CCcA,6CFmBE,wBC9BF,CETE,mDHuFA,wBC3EF,CEZE,oDHuFA,wBCxEF,CGES,mBJsBP,uDAAA,CAAA,+BCpBF,CIfA,kKLmCE,+BAAA,CAAA,8DChBF,CFiBI,iDCDF,mCCbF,CFqBI,4MCRF,mCCRF,CFwBI,4MChBF,mCCHF,CKtBA,8BNyBE,sDCAF,CKzBA,8BNyBE,sDCGF,CK5BA,6BNyBE,sDCMF,CACF","file":"input-base.print.min.css","sourcesContent":[null,"////\n/// Input-Base Print\n/// @group input-base\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _input-scheme('print');\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input.print.css b/design_system_admin/dsfr/component/input/input.print.css new file mode 100644 index 0000000000000000000000000000000000000000..93e75e191a2d33c8718a31cdc0934a8cff87f454 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input.print.css @@ -0,0 +1,71 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-input { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + } + + .fr-input::placeholder { + color: #666; + } + + .fr-input::-webkit-contacts-auto-fill-button { + background-color: #161616; + } + + .fr-input::-webkit-contacts-auto-fill-button:hover { + background-color: #343434; + } + + .fr-input::-webkit-contacts-auto-fill-button:active { + background-color: #474747; + } + + .fr-input:disabled { + color: var(--text-disabled-grey); + box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey); + } + + .fr-input:autofill, + .fr-input:autofill:hover, + .fr-input:autofill:focus, + .fr-input:-webkit-autofill, + .fr-input:-webkit-autofill:hover, + .fr-input:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff; + -webkit-text-fill-color: #161616; + } + + .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-fieldset--valid .fr-input, + .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--valid .fr-input, + .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-input, + .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--error .fr-input, + .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-input-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-input-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-input-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } +} diff --git a/design_system_admin/dsfr/component/input/input.print.css.map b/design_system_admin/dsfr/component/input/input.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..844ef0bd9eaff036518803a5281ad0439c43927a --- /dev/null +++ b/design_system_admin/dsfr/component/input/input.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20KgXObH%3E","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;ECpCF;;ECWA;IFyBE,WAAA;ECjCF;;ECcA;IFmBE,yBAAA;EC9BF;;EETE;IHuFA,yBAAA;EC3EF;;EEZE;IHuFA,yBAAA;ECxEF;;EGES;IJsBP,gCAAA;IAAA,wDAAA;ECpBF;;EIfA;;;;;;ILmCE,gEAAA;IAAA,gCAAA;EChBF;;EFiBI;ICDF,oCAAA;ECbF;;EFqBI;;;;ICRF,oCAAA;ECRF;;EFwBI;;;;IChBF,oCAAA;ECHF;;EKtBA;INyBE,yDAAA;ECAF;;EKzBA;INyBE,yDAAA;ECGF;;EK5BA;INyBE,yDAAA;ECMF;AACF","file":"input.print.css","sourcesContent":[null,"////\n/// Input-Base Print\n/// @group input-base\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _input-scheme('print');\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input.print.min.css b/design_system_admin/dsfr/component/input/input.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..cefaf030319bfae7fd809ff55fc5ccf6bfa3d6d3 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-input{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-input::placeholder{color:#666}.fr-input::-webkit-contacts-auto-fill-button{background-color:#161616}.fr-input::-webkit-contacts-auto-fill-button:hover{background-color:#343434}.fr-input::-webkit-contacts-auto-fill-button:active{background-color:#474747}.fr-input:disabled{box-shadow:inset 0 -2px 0 0 var(--border-disabled-grey);color:var(--text-disabled-grey)}.fr-input:-webkit-autofill,.fr-input:-webkit-autofill:focus,.fr-input:-webkit-autofill:hover,.fr-input:autofill,.fr-input:autofill:focus,.fr-input:autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #e8edff}.fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #000091}.fr-fieldset--valid .fr-input,.fr-fieldset--valid .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--valid .fr-input,.fr-input-group--valid .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-input,.fr-fieldset--error .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--error .fr-input,.fr-input-group--error .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #ce0500}.fr-input-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-input-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-input-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/input/input.print.min.css.map b/design_system_admin/dsfr/component/input/input.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..5c3d5a2589c98f8a3c2ab5331d9f26dc4eac1f84 --- /dev/null +++ b/design_system_admin/dsfr/component/input/input.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20etXu9r%3E","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,UCgCE,qBAAA,CAAA,mCAAA,CAAA,aCpCF,CCWA,uBFyBE,UCjCF,CCcA,6CFmBE,wBC9BF,CETE,mDHuFA,wBC3EF,CEZE,oDHuFA,wBCxEF,CGES,mBJsBP,uDAAA,CAAA,+BCpBF,CIfA,kKLmCE,+BAAA,CAAA,8DChBF,CFiBI,iDCDF,mCCbF,CFqBI,4MCRF,mCCRF,CFwBI,4MChBF,mCCHF,CKtBA,8BNyBE,sDCAF,CKzBA,8BNyBE,sDCGF,CK5BA,6BNyBE,sDCMF,CACF","file":"input.print.min.css","sourcesContent":[null,"////\n/// Input-Base Print\n/// @group input-base\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _input-scheme('print');\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/link/link.print.css b/design_system_admin/dsfr/component/link/link.print.css new file mode 100644 index 0000000000000000000000000000000000000000..95c22525f1d684f4cf65cb2a3cd631c50f6abadb --- /dev/null +++ b/design_system_admin/dsfr/component/link/link.print.css @@ -0,0 +1,20 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-link { + color: #000091; + } + + .fr-link__detail { + color: #666; + } + + .fr-links-group li::marker { + color: #000091; + } + + .fr-links-group--bordered { + box-shadow: inset 0 0 0 1px #ddd; + } +} diff --git a/design_system_admin/dsfr/component/link/link.print.css.map b/design_system_admin/dsfr/component/link/link.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..a20e1d90e634bbcbc06fa03fd470064ff223d02c --- /dev/null +++ b/design_system_admin/dsfr/component/link/link.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/link/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20CTmWOz%3E"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,cAAA;ECtCF;;EFQE;IC8BA,WAAA;ECnCF;;EFWE;ICwBA,cAAA;EChCF;;EFYE;ICoBA,gCAAA;EC7BF;AACF","file":"link.print.css","sourcesContent":[null,"////\n/// Link Print\n/// @group link\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _link-scheme('print');\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/link/link.print.min.css b/design_system_admin/dsfr/component/link/link.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..567c6f7036c1dfe1dbbec1daa6eac1a539448d50 --- /dev/null +++ b/design_system_admin/dsfr/component/link/link.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-link{color:#000091}.fr-link__detail{color:#666}.fr-links-group li::marker{color:#000091}.fr-links-group--bordered{box-shadow:inset 0 0 0 1px #ddd}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/link/link.print.min.css.map b/design_system_admin/dsfr/component/link/link.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..4f60c19ace5607a59eb4ba30b7498840637b86aa --- /dev/null +++ b/design_system_admin/dsfr/component/link/link.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/link/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20yttJ00%3E"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,SCiCE,aCtCF,CFQE,iBC8BA,UCnCF,CFWE,2BCwBA,aChCF,CFYE,0BCoBA,+BC7BF,CACF","file":"link.print.min.css","sourcesContent":[null,"////\n/// Link Print\n/// @group link\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _link-scheme('print');\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/logo/logo.print.css b/design_system_admin/dsfr/component/logo/logo.print.css new file mode 100644 index 0000000000000000000000000000000000000000..46340b00db16dc3bb5168fcacb86fcff9a6b2b28 --- /dev/null +++ b/design_system_admin/dsfr/component/logo/logo.print.css @@ -0,0 +1,12 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-logo { + color: #000; + } + + .fr-logo::after { + background-position: 0 calc(100% + 1.875rem) !important; + } +} diff --git a/design_system_admin/dsfr/component/logo/logo.print.css.map b/design_system_admin/dsfr/component/logo/logo.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..2c123af75eef4ba196ed3d4395b8ff836d16da73 --- /dev/null +++ b/design_system_admin/dsfr/component/logo/logo.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/logo/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20dGugrG%3E","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,WAAA;ECtCF;;ECFA;IACE,uDAAA;EDIF;AACF","file":"logo.print.css","sourcesContent":[null,"////\n/// Logo Print\n/// @group logo\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _logo-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/logo/logo.print.min.css b/design_system_admin/dsfr/component/logo/logo.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..29ef23c25691c1d38d33b4b3fddac6dde8b07c96 --- /dev/null +++ b/design_system_admin/dsfr/component/logo/logo.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-logo{color:#000}.fr-logo:after{background-position:0 calc(100% + 1.875rem)!important}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/logo/logo.print.min.css.map b/design_system_admin/dsfr/component/logo/logo.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..d2f2f4b7803dbc8ca22ee7cb02cec74fd3920264 --- /dev/null +++ b/design_system_admin/dsfr/component/logo/logo.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/logo/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%2000-JgX%3E","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,SCiCE,UCtCF,CCFA,eACE,qDDIF,CACF","file":"logo.print.min.css","sourcesContent":[null,"////\n/// Logo Print\n/// @group logo\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _logo-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/modal/modal.print.css b/design_system_admin/dsfr/component/modal/modal.print.css new file mode 100644 index 0000000000000000000000000000000000000000..a30090e6a4bccd63f8058f44a5f5afe929e46e3d --- /dev/null +++ b/design_system_admin/dsfr/component/modal/modal.print.css @@ -0,0 +1,29 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-modal__body { + background-color: #fff; + } + + .fr-modal__title { + color: #161616; + } + + .fr-modal__footer { + background-color: #fff; + } + + .fr-modal__body.fr-scroll-divider .fr-modal__footer { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-modal { + display: none; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-modal__body { + z-index: 2000; + } +} diff --git a/design_system_admin/dsfr/component/modal/modal.print.css.map b/design_system_admin/dsfr/component/modal/modal.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..74eeef5d8ddb08ac61b67c3dc375c99284807f54 --- /dev/null +++ b/design_system_admin/dsfr/component/modal/modal.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/modal/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20QNpN8Y%3E","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECOE;IC6BE,sBAAA;ECtCF;;ECWE;IF2BA,cAAA;EC5BF;;ECKE;IFuBA,sBAAA;ECvBF;;ECKI;IFkBF,mDAAA;EClBF;;EEvBF;IACE,aAAA;EF2BA;AAxBF;AGKI;ELGF;IMHM,aAAA;EJDN;AACF","file":"modal.print.css","sourcesContent":[null,"////\n/// Modal Print\n/// @group modal\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _modal-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(modal)} {\n display: none;\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/modal/modal.print.min.css b/design_system_admin/dsfr/component/modal/modal.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..6760d3c95f855fcd406db5df8906957454a32db4 --- /dev/null +++ b/design_system_admin/dsfr/component/modal/modal.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-modal__body{background-color:#fff}.fr-modal__title{color:#161616}.fr-modal__footer{background-color:#fff}.fr-modal__body.fr-scroll-divider .fr-modal__footer{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-modal{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-modal__body{z-index:2000}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/modal/modal.print.min.css.map b/design_system_admin/dsfr/component/modal/modal.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..ea51dfad9307b9146cd4dfef70ddcec3c93fa127 --- /dev/null +++ b/design_system_admin/dsfr/component/modal/modal.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/modal/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20iqt8bH%3E","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCOE,gBC6BE,qBCtCF,CCWE,iBF2BA,aC5BF,CCKE,kBFuBA,qBCvBF,CCKI,oDFkBF,gDClBF,CEvBF,UACE,YF2BA,CAxBF,CGKI,+ELGF,gBMHM,YJDN,CACF","file":"modal.print.min.css","sourcesContent":[null,"////\n/// Modal Print\n/// @group modal\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _modal-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(modal)} {\n display: none;\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/navigation/navigation.print.css b/design_system_admin/dsfr/component/navigation/navigation.print.css new file mode 100644 index 0000000000000000000000000000000000000000..43ae8e7a4cdbc9c19fc349c88c22e8775c07c27b --- /dev/null +++ b/design_system_admin/dsfr/component/navigation/navigation.print.css @@ -0,0 +1,8 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-navigation { + display: none; + } +} diff --git a/design_system_admin/dsfr/component/navigation/navigation.print.css.map b/design_system_admin/dsfr/component/navigation/navigation.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b1bf1aef238c770ae1bdcbe14fdaf432532a9d16 --- /dev/null +++ b/design_system_admin/dsfr/component/navigation/navigation.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/navigation/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","%3Cinput%20css%20Apc_9r%3E"],"names":[],"mappings":"AAAA;;GAAA;ACOA;ECPA;IACE,aAAA;ECEA;AACF","file":"navigation.print.css","sourcesContent":[null,"////\n/// Navigation Print\n/// @group core\n////\n\n@use 'module/selector';\n\n@media print {\n @import 'style/print';\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","@media print {\n .fr-navigation {\n display: none;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/navigation/navigation.print.min.css b/design_system_admin/dsfr/component/navigation/navigation.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..da0f527ed8047d3b9cf9afd8bdac1720830f0cae --- /dev/null +++ b/design_system_admin/dsfr/component/navigation/navigation.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-navigation{display:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/navigation/navigation.print.min.css.map b/design_system_admin/dsfr/component/navigation/navigation.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..3653bf6ad7a37852af3397cc22d9c978d8b53502 --- /dev/null +++ b/design_system_admin/dsfr/component/navigation/navigation.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/navigation/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","%3Cinput%20css%20VO9Whc%3E"],"names":[],"mappings":"AAAA;;GAAA,ACOA,aCPA,eACE,YCEA,CACF","file":"navigation.print.min.css","sourcesContent":[null,"////\n/// Navigation Print\n/// @group core\n////\n\n@use 'module/selector';\n\n@media print {\n @import 'style/print';\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","@media print {\n .fr-navigation {\n display: none;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/notice/notice.print.css b/design_system_admin/dsfr/component/notice/notice.print.css new file mode 100644 index 0000000000000000000000000000000000000000..5b1fbdbd0b1fa3c5279ca9a6e1a385ef3347dcc6 --- /dev/null +++ b/design_system_admin/dsfr/component/notice/notice.print.css @@ -0,0 +1,14 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-notice { + background-color: #eee; + color: #161616; + } + + .fr-notice--info { + background-color: #e8edff; + color: #0063cb; + } +} diff --git a/design_system_admin/dsfr/component/notice/notice.print.css.map b/design_system_admin/dsfr/component/notice/notice.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..a234d692fd73a099e38c36b6e64d6a3bf7ac629b --- /dev/null +++ b/design_system_admin/dsfr/component/notice/notice.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/notice/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20G6nfhd%3E"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,sBAAA;IAAA,cAAA;ECrCF;;EFQE;IC6BA,yBAAA;IAAA,cAAA;ECjCF;AACF","file":"notice.print.css","sourcesContent":[null,"////\n/// Notice Print\n/// @group notice\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _notice-scheme('print');\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/notice/notice.print.min.css b/design_system_admin/dsfr/component/notice/notice.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..2b84d7c742badd5fffe7f5ee5d61cd9169515a99 --- /dev/null +++ b/design_system_admin/dsfr/component/notice/notice.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-notice{background-color:#eee;color:#161616}.fr-notice--info{background-color:#e8edff;color:#0063cb}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/notice/notice.print.min.css.map b/design_system_admin/dsfr/component/notice/notice.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..78ab1707d4c7d6a76b8d535ca6c0e77708465473 --- /dev/null +++ b/design_system_admin/dsfr/component/notice/notice.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/notice/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20KLceo6%3E"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,WCiCE,qBAAA,CAAA,aCrCF,CFQE,iBC6BA,wBAAA,CAAA,aCjCF,CACF","file":"notice.print.min.css","sourcesContent":[null,"////\n/// Notice Print\n/// @group notice\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _notice-scheme('print');\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/pagination/pagination.print.css b/design_system_admin/dsfr/component/pagination/pagination.print.css new file mode 100644 index 0000000000000000000000000000000000000000..503a2c405becd55ea4a9d9e2602ea799b9ce8991 --- /dev/null +++ b/design_system_admin/dsfr/component/pagination/pagination.print.css @@ -0,0 +1,28 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-pagination { + color: #161616; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]) { + background-color: #000091; + color: #f5f5fe; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):hover { + background-color: #1212ff; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):active { + background-color: #2323ff; + } + + .fr-pagination__link:not([aria-current]):disabled, + a.fr-pagination__link:not([aria-current]):not([href]), + a.fr-pagination__link[aria-current=false]:not([href]), + .fr-pagination__link[aria-current=false]:disabled { + color: #929292; + } +} diff --git a/design_system_admin/dsfr/component/pagination/pagination.print.css.map b/design_system_admin/dsfr/component/pagination/pagination.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8be9663b663c5455bc8ca740d7d96d25707aa693 --- /dev/null +++ b/design_system_admin/dsfr/component/pagination/pagination.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/pagination/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20Ycy1Ff%3E","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKE;IC+BE,cAAA;ECtCF;;ECCA;IFqCE,yBAAA;IAAA,cAAA;EClCF;;EELE;IHuFA,yBAAA;EC/EF;;EERE;IHuFA,yBAAA;EC5EF;;EGMS;;;;IJsBP,cAAA;ECzBF;AACF","file":"pagination.print.css","sourcesContent":[null,"////\n/// Pagination Print\n/// @group pagination\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _pagination-scheme('print');\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/pagination/pagination.print.min.css b/design_system_admin/dsfr/component/pagination/pagination.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..5730bfeab6c715e8389434f1d589f27f219465e3 --- /dev/null +++ b/design_system_admin/dsfr/component/pagination/pagination.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-pagination{color:#161616}.fr-pagination__link[aria-current]:not([aria-current=false]){background-color:#000091;color:#f5f5fe}.fr-pagination__link[aria-current]:not([aria-current=false]):hover{background-color:#1212ff}.fr-pagination__link[aria-current]:not([aria-current=false]):active{background-color:#2323ff}.fr-pagination__link:not([aria-current]):disabled,.fr-pagination__link[aria-current=false]:disabled,a.fr-pagination__link:not([aria-current]):not([href]),a.fr-pagination__link[aria-current=false]:not([href]){color:#929292}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/pagination/pagination.print.min.css.map b/design_system_admin/dsfr/component/pagination/pagination.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..071ce0633045b506bddf141e575eea7b83168939 --- /dev/null +++ b/design_system_admin/dsfr/component/pagination/pagination.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/pagination/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20MF073x%3E","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKE,eC+BE,aCtCF,CCCA,6DFqCE,wBAAA,CAAA,aClCF,CELE,mEHuFA,wBC/EF,CERE,oEHuFA,wBC5EF,CGMS,gNJsBP,aCzBF,CACF","file":"pagination.print.min.css","sourcesContent":[null,"////\n/// Pagination Print\n/// @group pagination\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _pagination-scheme('print');\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/password/password.print.css b/design_system_admin/dsfr/component/password/password.print.css new file mode 100644 index 0000000000000000000000000000000000000000..7529d093d3a6b837bef176504126daf72afaf4e2 --- /dev/null +++ b/design_system_admin/dsfr/component/password/password.print.css @@ -0,0 +1,53 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-password__btn { + color: #000091; + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + color: #929292; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label { + color: #161616; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-password__btn { + background-color: transparent; + } + + .fr-password__btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + background-color: transparent; + } + + .fr-password__btn:disabled:hover, + a.fr-password__btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:disabled:active, + a.fr-password__btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password [data-fr-capslock]::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E"); + } +} diff --git a/design_system_admin/dsfr/component/password/password.print.css.map b/design_system_admin/dsfr/component/password/password.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..74a4691056eb110dbef36dbc79b0d47afba8c37d --- /dev/null +++ b/design_system_admin/dsfr/component/password/password.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/password/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20xKH8s0%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKI;IC+BA,cAAA;ECtCF;;ECgBS;;IFsBP,cAAA;ECtBF;;EFGM;ICmBJ,cAAA;ECDF;;EExBA;IHyBE,yiCAAA;ECEF;AAvCF;AGKI;ELCA;IC8GE,6BAAA;EChHJ;;EDmHM;IACE,qCAAA;ECjHR;;EDoHM;IACE,oCAAA;EClHR;;ECKS;;IFqGL,6BAAA;EChGJ;;EDmGM;;IACE,qCAAA;ECjGR;;EDoGM;;IACE,oCAAA;EClGR;;EEdA;IEcM,+ZAAA;EJKN;AApBF","file":"password.print.css","sourcesContent":[null,"////\n/// Password Print\n/// @group password\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _password-scheme('print');\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/password/password.print.min.css b/design_system_admin/dsfr/component/password/password.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..6187f726f2a20d11306ccd52f18bf34c3dacf7d9 --- /dev/null +++ b/design_system_admin/dsfr/component/password/password.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-password__btn{color:#000091}.fr-password__btn:disabled,a.fr-password__btn:not([href]){color:#929292}.fr-password .fr-password__checkbox input[type=checkbox]+label{color:#161616}.fr-password .fr-password__checkbox input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-password__btn{background-color:transparent}.fr-password__btn:hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:active{background-color:rgba(0,0,0,.1)}.fr-password__btn:disabled,a.fr-password__btn:not([href]){background-color:transparent}.fr-password__btn:disabled:hover,a.fr-password__btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:disabled:active,a.fr-password__btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-password [data-fr-capslock]:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.402 0 24 .598 24 1.332v21.336c0 .734-.598 1.332-1.332 1.332H1.332A1.334 1.334 0 0 1 0 22.668V1.332C0 .598.598 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E")}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/password/password.print.min.css.map b/design_system_admin/dsfr/component/password/password.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..6694f9f8d53fb0040b18df3d466ee1182e1b0e0d --- /dev/null +++ b/design_system_admin/dsfr/component/password/password.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/password/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20MvwZPI%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKI,kBC+BA,aCtCF,CCgBS,0DFsBP,aCtBF,CFGM,+DCmBJ,aCDF,CExBA,sEHyBE,4gCCEF,CAvCF,CGKI,+ELCA,kBC8GE,4BChHJ,CDmHM,wBACE,gCCjHR,CDoHM,yBACE,+BClHR,CCKS,0DFqGL,4BChGJ,CDmGM,sEACE,gCCjGR,CDoGM,wEACE,+BClGR,CEdA,uCEcM,uZJKN,CApBF","file":"password.print.min.css","sourcesContent":[null,"////\n/// Password Print\n/// @group password\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _password-scheme('print');\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/quote/quote.print.css b/design_system_admin/dsfr/component/quote/quote.print.css new file mode 100644 index 0000000000000000000000000000000000000000..a692b8eca043e2c9aa29a1bff8eb04091a724ff0 --- /dev/null +++ b/design_system_admin/dsfr/component/quote/quote.print.css @@ -0,0 +1,91 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-quote { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-quote::before { + color: #6a6af4; + } + + .fr-quote--green-tilleul-verveine::before { + color: #b7a73f; + } + + .fr-quote--green-bourgeon::before { + color: #68a532; + } + + .fr-quote--green-emeraude::before { + color: #00a95f; + } + + .fr-quote--green-menthe::before { + color: #009081; + } + + .fr-quote--green-archipel::before { + color: #009099; + } + + .fr-quote--blue-ecume::before { + color: #465f9d; + } + + .fr-quote--blue-cumulus::before { + color: #417dc4; + } + + .fr-quote--purple-glycine::before { + color: #a558a0; + } + + .fr-quote--pink-macaron::before { + color: #e18b76; + } + + .fr-quote--pink-tuile::before { + color: #ce614a; + } + + .fr-quote--yellow-tournesol::before { + color: #c8aa39; + } + + .fr-quote--yellow-moutarde::before { + color: #c3992a; + } + + .fr-quote--orange-terre-battue::before { + color: #e4794a; + } + + .fr-quote--brown-cafe-creme::before { + color: #d1b781; + } + + .fr-quote--brown-caramel::before { + color: #c08c65; + } + + .fr-quote--brown-opera::before { + color: #bd987a; + } + + .fr-quote--beige-gris-galet::before { + color: #aea397; + } + + .fr-quote__source { + color: #666; + } + + .fr-quote__author, + .fr-quote cite, + .fr-quote figcaption li { + font-size: 1rem; + line-height: 1.5rem; + } +} diff --git a/design_system_admin/dsfr/component/quote/quote.print.css.map b/design_system_admin/dsfr/component/quote/quote.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..98c638703d775694f8296752ca0339e5608c5eda --- /dev/null +++ b/design_system_admin/dsfr/component/quote/quote.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/quote/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20b12ujc%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,mDAAA;ECtCF;;ECaA;IFyBE,cAAA;ECnCF;;ECUA;IFyBE,cAAA;EChCF;;ECOA;IFyBE,cAAA;EC7BF;;ECIA;IFyBE,cAAA;EC1BF;;ECCA;IFyBE,cAAA;ECvBF;;ECFA;IFyBE,cAAA;ECpBF;;ECLA;IFyBE,cAAA;ECjBF;;ECRA;IFyBE,cAAA;ECdF;;ECXA;IFyBE,cAAA;ECXF;;ECdA;IFyBE,cAAA;ECRF;;ECjBA;IFyBE,cAAA;ECLF;;ECpBA;IFyBE,cAAA;ECFF;;ECvBA;IFyBE,cAAA;ECCF;;EC1BA;IFyBE,cAAA;ECIF;;EC7BA;IFyBE,cAAA;ECOF;;EChCA;IFyBE,cAAA;ECUF;;ECnCA;IFyBE,cAAA;ECaF;;ECtCA;IFyBE,cAAA;ECgBF;;EFpCE;ICoBA,WAAA;ECmBF;;EE3DA;;;ICyBA,eAAA;IAGE,mBAAA;EHqCF;AACF","file":"quote.print.css","sourcesContent":[null,"////\n/// Quote Print\n/// @group quote\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _quote-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/quote/quote.print.min.css b/design_system_admin/dsfr/component/quote/quote.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e76a825df1d8a07bba8f180ea36e01478dbb6ea7 --- /dev/null +++ b/design_system_admin/dsfr/component/quote/quote.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-quote{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-quote:before{color:#6a6af4}.fr-quote--green-tilleul-verveine:before{color:#b7a73f}.fr-quote--green-bourgeon:before{color:#68a532}.fr-quote--green-emeraude:before{color:#00a95f}.fr-quote--green-menthe:before{color:#009081}.fr-quote--green-archipel:before{color:#009099}.fr-quote--blue-ecume:before{color:#465f9d}.fr-quote--blue-cumulus:before{color:#417dc4}.fr-quote--purple-glycine:before{color:#a558a0}.fr-quote--pink-macaron:before{color:#e18b76}.fr-quote--pink-tuile:before{color:#ce614a}.fr-quote--yellow-tournesol:before{color:#c8aa39}.fr-quote--yellow-moutarde:before{color:#c3992a}.fr-quote--orange-terre-battue:before{color:#e4794a}.fr-quote--brown-cafe-creme:before{color:#d1b781}.fr-quote--brown-caramel:before{color:#c08c65}.fr-quote--brown-opera:before{color:#bd987a}.fr-quote--beige-gris-galet:before{color:#aea397}.fr-quote__source{color:#666}.fr-quote cite,.fr-quote figcaption li,.fr-quote__author{font-size:1rem;line-height:1.5rem}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/quote/quote.print.min.css.map b/design_system_admin/dsfr/component/quote/quote.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b9132f1fef151949b6d537806f12a568d592af9d --- /dev/null +++ b/design_system_admin/dsfr/component/quote/quote.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/quote/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20NtUDUS%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,UCiCE,gDCtCF,CCaA,iBFyBE,aCnCF,CCUA,yCFyBE,aChCF,CCOA,iCFyBE,aC7BF,CCIA,iCFyBE,aC1BF,CCCA,+BFyBE,aCvBF,CCFA,iCFyBE,aCpBF,CCLA,6BFyBE,aCjBF,CCRA,+BFyBE,aCdF,CCXA,iCFyBE,aCXF,CCdA,+BFyBE,aCRF,CCjBA,6BFyBE,aCLF,CCpBA,mCFyBE,aCFF,CCvBA,kCFyBE,aCCF,CC1BA,sCFyBE,aCIF,CC7BA,mCFyBE,aCOF,CChCA,gCFyBE,aCUF,CCnCA,8BFyBE,aCaF,CCtCA,mCFyBE,aCgBF,CFpCE,kBCoBA,UCmBF,CE3DA,yDCyBA,cAAA,CAGE,kBHqCF,CACF","file":"quote.print.min.css","sourcesContent":[null,"////\n/// Quote Print\n/// @group quote\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _quote-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/radio/radio.print.css b/design_system_admin/dsfr/component/radio/radio.print.css new file mode 100644 index 0000000000000000000000000000000000000000..a19bb22fa46b110609a4d53f91745a542ca71386 --- /dev/null +++ b/design_system_admin/dsfr/component/radio/radio.print.css @@ -0,0 +1,166 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-radio-group input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-group--sm input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + } + + .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px); + background-color: #fff; + } + + .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * { + fill: #929292; + } + + .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-radio-rich input[type=radio]:checked:disabled + label { + background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } +} diff --git a/design_system_admin/dsfr/component/radio/radio.print.css.map b/design_system_admin/dsfr/component/radio/radio.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..3ca82c167d794c1e6347b592f72edf90033f7d48 --- /dev/null +++ b/design_system_admin/dsfr/component/radio/radio.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/radio/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20aLKb2T%3E","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECOM;IC6BF,mFAAA;ECtCF;;EFcM;ICwBJ,mFAAA;ECnCF;;EFiBM;ICkBJ,kIAAA;EChCF;;EFmBQ;ICaN,kIAAA;EC7BF;;EF4BQ;ICCN,mFAAA;EC1BF;;EF6BQ;ICHN,kIAAA;ECvBF;;EFoCQ;ICbN,mFAAA;ECpBF;;EFqCQ;ICjBN,kIAAA;ECjBF;;EF4CQ;IC3BN,mFAAA;ECdF;;EF6CQ;IC/BN,kIAAA;ECXF;;EFoDQ;ICzCN,mFAAA;ECRF;;EFqDQ;IC7CN,kIAAA;ECLF;;ECzBI;IF8BF,gFAAA;ECFF;;ECvBM;IFyBJ,gFAAA;ECCF;;ECpBM;IFmBJ,+HAAA;ECIF;;EClBQ;IFcN,+HAAA;ECOF;;ECTQ;IFEN,gFAAA;ECUF;;ECRQ;IFFN,+HAAA;ECaF;;ECDQ;IFZN,gFAAA;ECgBF;;ECAQ;IFhBN,+HAAA;ECmBF;;ECOQ;IF1BN,gFAAA;ECsBF;;ECQQ;IF9BN,+HAAA;ECyBF;;ECeQ;IFxCN,gFAAA;EC4BF;;ECgBQ;IF5CN,+HAAA;EC+BF;;EE7DE;IH8BA,4JAAA;IAAA,sBAAA;ECmCF;;EE3DI;IHwBF,4NAAA;IAAA,sBAAA;ECuCF;;EEzDM;IHkBJ,4NAAA;EC0CF;;EEvDQ;IHaN,aAAA;EC6CF;;EEnDM;IHMJ,mSAAA;ECgDF;;EElDM;IHEJ,8KAAA;ECmDF;;EEhDQ;IHHN,mSAAA;ECsDF;;EE/CQ;IHPN,8KAAA;ECyDF;;EEtCQ;IHnBN,4NAAA;EC4DF;;EErCQ;IHvBN,mSAAA;EC+DF;;EE9BQ;IHjCN,4NAAA;ECkEF;;EE7BQ;IHrCN,mSAAA;ECqEF;;EEtBQ;IH/CN,4NAAA;ECwEF;;EErBQ;IHnDN,mSAAA;EC2EF;;EEdQ;IH7DN,4NAAA;EC8EF;;EEbQ;IHjEN,2QAAA;ECiFF;AACF","file":"radio.print.css","sourcesContent":[null,"////\n/// Radio Print\n/// @group radio\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _radio-scheme('print');\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/radio/radio.print.min.css b/design_system_admin/dsfr/component/radio/radio.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..82922c25ff0760144dab57899864e40de5115052 --- /dev/null +++ b/design_system_admin/dsfr/component/radio/radio.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px)}.fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-radio-group input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-fieldset--error .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px)}.fr-fieldset--error .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--valid .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px)}.fr-fieldset--valid .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--info .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px)}.fr-fieldset--info .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-group--sm input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich__pictogram{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]+label{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled~.fr-radio-rich__pictogram svg *{fill:#929292}.fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]:checked:disabled+label{background-image:linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked:disabled~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#ddd,#ddd)}.fr-fieldset--error .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/radio/radio.print.min.css.map b/design_system_admin/dsfr/component/radio/radio.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..2ca53822531b43741a2b2296a23ecebafa877ea4 --- /dev/null +++ b/design_system_admin/dsfr/component/radio/radio.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/radio/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20bF6FMb%3E","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCOM,wCC6BF,gFCtCF,CFcM,iDCwBJ,gFCnCF,CFiBM,gDCkBJ,6HChCF,CFmBQ,yDCaN,6HC7BF,CF4BQ,4DCCN,gFC1BF,CF6BQ,oECHN,6HCvBF,CFoCQ,4DCbN,gFCpBF,CFqCQ,oECjBN,6HCjBF,CF4CQ,2DC3BN,gFCdF,CF6CQ,mEC/BN,6HCXF,CFoDQ,8DCzCN,gFCRF,CFqDQ,sEC7CN,6HCLF,CCzBI,4CF8BF,6ECFF,CCvBM,qDFyBJ,6ECCF,CCpBM,oDFmBJ,0HCIF,CClBQ,6DFcN,0HCOF,CCTQ,gEFEN,6ECUF,CCRQ,wEFFN,0HCaF,CCDQ,gEFZN,6ECgBF,CCAQ,wEFhBN,0HCmBF,CCOQ,+DF1BN,6ECsBF,CCQQ,uEF9BN,0HCyBF,CCeQ,kEFxCN,6EC4BF,CCgBQ,0EF5CN,0HC+BF,CE7DE,0BH8BA,qBAAA,CAAA,gJCmCF,CE3DI,uCHwBF,qBAAA,CAAA,6MCuCF,CEzDM,gDHkBJ,6MC0CF,CEvDQ,0EHaN,YC6CF,CEnDM,+CHMJ,kRCgDF,CElDM,mEHEJ,kKCmDF,CEhDQ,wDHHN,kRCsDF,CE/CQ,4EHPN,kKCyDF,CEtCQ,2DHnBN,6MC4DF,CErCQ,mEHvBN,kRC+DF,CE9BQ,2DHjCN,6MCkEF,CE7BQ,mEHrCN,kRCqEF,CEtBQ,0DH/CN,6MCwEF,CErBQ,kEHnDN,kRC2EF,CEdQ,6DH7DN,6MC8EF,CEbQ,qEHjEN,0PCiFF,CACF","file":"radio.print.min.css","sourcesContent":[null,"////\n/// Radio Print\n/// @group radio\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _radio-scheme('print');\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/README.md b/design_system_admin/dsfr/component/range/README.md new file mode 100644 index 0000000000000000000000000000000000000000..5f9e5b54706bde9deb8d6a4bac406b7c7933ea19 --- /dev/null +++ b/design_system_admin/dsfr/component/range/README.md @@ -0,0 +1,32 @@ +# range + +Les curseurs sont des entrées numériques qui permettent de voir graphiquement une sélection par rapport a une valeur minimale et maximale. Ils servent à montrer en temps réelle les options choisies et éclairer la prise de décision. + +## Dépendances +```shell +range +└─ core +└─ scheme +``` + +## Utilisation +Afin d’utiliser le composant `range`, il est nécessaire d’ajouter les fichiers de styles et de scripts présents dans le dossier dist dans l'ordre suivant :\n +```html +<html> + <head> + <link href="css/range/range.min.css" rel="stylesheet"> + </head> + <body> + <script type="text/javascript" nomodule href="js/legacy/legacy.nomodule.min.js" ></script> + <script type="module" href="js/core/core.module.min.js" ></script> + <script type="text/javascript" nomodule href="js/core/core.nomodule.min.js" ></script> + <script type="module" href="js/scheme/scheme.module.min.js" ></script> + <script type="module" href="js/range/range.module.min.js" ></script> + <script type="text/javascript" nomodule href="js/range/range.nomodule.min.js" ></script> + </body> +</html> +``` + +## Documentation + +Consulter [la documentation](https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/curseur) sur le module Curseur \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.css b/design_system_admin/dsfr/component/range/range.css new file mode 100644 index 0000000000000000000000000000000000000000..e1969a2dbcf35f4ccf8e063d342c543a4abe87b2 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.css @@ -0,0 +1,484 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; + +/* ¯¯¯¯¯¯¯¯¯ *\ + RANGE +\* ˍˍˍˍˍˍˍˍˍ */ +.fr-range-group { + position: relative; +} + +.fr-range-group--valid::before, +.fr-range-group--error::before { + content: ""; + display: block; + pointer-events: none; + position: absolute; + top: 0; + right: -0.75rem; + bottom: 0; + left: -0.75rem; + background-repeat: no-repeat; + background-position: 0 0; + background-size: 0.125rem 100%; +} + +.fr-range { + --thumb-size: 1.5rem; + position: relative; + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap; +} + +.fr-range input[type=range] { + outline: none; + width: 100%; +} + +.fr-range__output { + visibility: hidden; + color: var(--text-active-blue-france); +} + +.fr-range__output, +.fr-range__min, +.fr-range__max { + text-align: center; + min-width: var(--thumb-size); + font-size: 0.75rem; + line-height: 1.25rem; +} + +.fr-range[data-fr-js-range] { + --progress-left: 0; + --progress-right: calc(var(--thumb-size) * 0.5); +} + +.fr-range[data-fr-js-range]::before, +.fr-range[data-fr-js-range]::after { + content: ""; + display: block; + position: absolute; + top: 1.625rem; + right: 0; + left: 0; + width: 100%; + height: 0.75rem; + border-radius: 0.375rem; +} + +.fr-range[data-fr-js-range]::before { + outline-offset: -1px; + box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range]::after { + clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%); + background-color: var(--background-active-blue-france); + + --idle: transparent; + --hover: var(--background-active-blue-france-hover); + --active: var(--background-active-blue-france-active); +} + +.fr-range[data-fr-js-range] input[type=range] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + width: 100%; + height: var(--thumb-size); + z-index: 1; +} + +.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) { + pointer-events: none; +} + +.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: var(--thumb-size); + height: var(--thumb-size); + border-radius: 50%; + border: none; + pointer-events: auto; + z-index: calc(var(--ground) + 500); + background-color: var(--background-raised-grey); + --hover: var(--background-raised-grey-hover); + --active: var(--background-raised-grey-active); + filter: drop-shadow(var(--raised-shadow)); + background-color: var(--background-default-grey); + + --idle: transparent; + --hover: var(--background-default-grey-hover); + --active: var(--background-default-grey-active); + border: 1px solid var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active { + z-index: 2; +} + +.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: var(--thumb-size); + height: var(--thumb-size); + border-radius: 50%; + border: none; + pointer-events: auto; + z-index: calc(var(--ground) + 500); + background-color: var(--background-raised-grey); + --hover: var(--background-raised-grey-hover); + --active: var(--background-raised-grey-active); + filter: drop-shadow(var(--raised-shadow)); + background-color: var(--background-default-grey); + + --idle: transparent; + --hover: var(--background-default-grey-hover); + --active: var(--background-default-grey-active); + border: 1px solid var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active { + z-index: 2; +} + +.fr-range[data-fr-js-range] .fr-range__output { + visibility: visible; +} + +.fr-range--sm { + --thumb-size: 1rem; +} + +.fr-range--sm[data-fr-js-range]::before, +.fr-range--sm[data-fr-js-range]::after { + top: 1.5rem; + height: 0.5rem; + border-radius: 0.25rem; +} + +.fr-range--step[data-fr-js-range] { + --step-width: 0; +} + +.fr-range--step[data-fr-js-range]::before, +.fr-range--step[data-fr-js-range]::after { + padding-left: 0.625rem; + padding-right: 0.625rem; + background-repeat: repeat-x; + background-size: var(--step-width) 100%; + background-position: 0.625rem 0; + background-clip: content-box; +} + +.fr-range--step.fr-range--sm[data-fr-js-range]::before, +.fr-range--step.fr-range--sm[data-fr-js-range]::after { + background-position: 0.375rem 0; + padding-left: 0.375rem; + padding-right: 0.375rem; +} + +.fr-range--double .fr-range__output { + min-width: calc(var(--thumb-size) * 2); +} + +.fr-range--double[data-fr-js-range] input[type=range] { + width: calc(100% - var(--thumb-size)); +} + +.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) { + margin-right: var(--thumb-size); +} + +.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) { + position: absolute; + right: 0; + top: 1.25rem; +} + +.fr-range--double.fr-range--step[data-fr-js-range]::before, +.fr-range--double.fr-range--step[data-fr-js-range]::after { + background-size: 0; +} + +.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb { + border: 1px solid var(--border-disabled-grey); +} + +.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb { + border: 1px solid var(--border-disabled-grey); +} + +.fr-range__min, +.fr-range__max { + color: var(--text-mention-grey); +} + +.fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px); +} + +.fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px); + box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france); +} + +.fr-range--step.fr-range--sm[data-fr-js-range]::after { + box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france); +} + +.fr-range-group--error::before { + background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error)); +} + +.fr-range-group--valid::before { + background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success)); +} + +.fr-range-group--disabled .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px var(--border-disabled-grey); +} + +.fr-range-group--disabled .fr-range[data-fr-js-range]::after { + background-color: var(--background-disabled-grey); + + --idle: transparent; + --hover: var(--background-disabled-grey-hover); + --active: var(--background-disabled-grey-active); +} + +.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px); +} + +.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px); +} + +.fr-range-group--disabled .fr-range__output, +.fr-range-group--disabled .fr-range__min, +.fr-range-group--disabled .fr-range__max { + color: var(--text-disabled-grey); +} +@media (min-width: 36em) { + /*! media sm */ + + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ + + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ + + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ + + /*! media xl */ +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .fr-range__output, + .fr-range__min, + .fr-range__max { + min-width: 1.5rem; + } + + .fr-range input[type=range] { + padding: 0; + } + + .fr-range[data-fr-js-range] { + justify-content: flex-start; + } + + .fr-range[data-fr-js-range]::after { + content: none; + background-color: #000091; + } + + .fr-range[data-fr-js-range] .fr-range__max { + margin-left: auto; + } + + .fr-range[data-fr-js-range] input[type=range] { + margin-top: -0.25rem; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-track { + height: 0.75rem; + background: transparent; + border-color: transparent; + border-width: 0.625rem 0; + color: transparent; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower { + height: 0.75rem; + border-radius: 0.375rem; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-thumb { + width: 1.5rem; + height: 1.5rem; + border-radius: 50%; + z-index: 500; + background-color: #fff; + border: 1px solid #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) { + pointer-events: auto; + } + + .fr-range[data-fr-js-range].fr-range--double { + background-position-y: 1.625rem; + background-repeat: no-repeat; + } + + .fr-range[data-fr-js-range].fr-range--double .fr-range__output { + min-width: 3rem; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range] { + width: calc(100% - 1.5rem); + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower { + background-color: transparent; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) { + margin-right: 1.5rem; + z-index: 2; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) { + left: 1.5rem; + } + + .fr-range--sm[data-fr-js-range] .fr-range__output, + .fr-range--sm[data-fr-js-range] .fr-range__min, + .fr-range--sm[data-fr-js-range] .fr-range__max { + min-width: 1rem; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track { + height: 0.5rem; + border-width: 0.5rem 0; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower { + height: 0.5rem; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb { + width: 1rem; + height: 1rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double { + background-position-y: 1.5rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output { + min-width: 2rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] { + width: calc(100% - 1rem); + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) { + margin-right: 1rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) { + left: 1rem; + } + + .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb { + border: 1px solid #e5e5e5; + } + + .fr-range__output { + color: #000091; + } + + .fr-range__min, + .fr-range__max { + color: #666; + } + + .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px); + } + + .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px); + box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091; + } + + .fr-range--step.fr-range--sm[data-fr-js-range]::after { + box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091; + } + + .fr-range-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-range-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-range-group--disabled .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-range-group--disabled .fr-range[data-fr-js-range]::after { + background-color: #e5e5e5; + } + + .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px); + } + + .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px); + } + + .fr-range-group--disabled .fr-range__output, + .fr-range-group--disabled .fr-range__min, + .fr-range-group--disabled .fr-range__max { + color: #929292; + } +} +@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) { + .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower { + background-color: #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower { + background-color: #e5e5e5; + } + + .fr-range[data-fr-js-range].fr-range--double { + background-image: linear-gradient(to right, #000091 0, #000091 100%); + } +} diff --git a/design_system_admin/dsfr/component/range/range.css.map b/design_system_admin/dsfr/component/range/range.css.map new file mode 100644 index 0000000000000000000000000000000000000000..23903f6a856c0cfc73b6b95799dbb18e99581f69 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%202d-AiN%3E","file:///Users/ket/Documents/work/dsfr/src/component/range/main.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_shadow.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;;ACKhB;;cAAA;ACKA;ECFE,kBAAA;AHUF;;AIFE;;EAGI,WFJc;EEQd,cAAA;EFPA,oBAAA;ECRJ,kBAAA;EAEE,MAAA;EAGA,eAAA;EAGA,SAAA;EAGA,cAAA;EDDE,4BAAA;EACA,wBAAA;EACA,8BAAA;AFWN;;AENA;EACE,oBAAA;EClBA,kBAAA;EEGE,aAAA;EAIA,mBAAA;EAQA,8BAAA;EAIA,eAAA;ALaJ;;AEVE;EACE,aAAA;EIrBE,WAAA;ANkCN;;AETE;EACE,kBAAA;EKKA,qCAAA;APMJ;;AERE;;;EAGE,kBAAA;EIxBE,4BAAA;EEQJ,kBAAA;EAGE,oBAAA;ARwBJ;;AENE;EACE,kBAAA;EACA,+CAAA;AFQJ;;AIzCE;;EAGI,WFgC8B;EE5B9B,cAAA;EDfJ,kBAAA;EAEE,aAAA;EAGA,QAAA;EAMA,OAAA;EGuCE,WAAA;EAGA,eAAA;EJPA,uBAAA;AFcN;;AIpDE;EF0CI,oBAAA;EKjBF,iEAAA;AP8BJ;;AIvDE;EF8CI,0HAAA;EKrBF,sDAAA;;EAWI,mBAAA;EAqCJ,mDAAA;EAAA,qDAAA;APfJ;;AETI;EOzDF,wBP0D8B;EOzD9B,qBPyD8B;EOxD9B,gBPwD8B;EAC1B,6BAAA;EITA,WAAA;EAGA,yBAAA;EI7CJ,UAAA;AVmEF;;AEZM;EACE,oBAAA;AFcR;;AWpFI;EFMF,wBPoEgC;EOnEhC,qBPmEgC;EOlEhC,gBPkEgC;EIlB5B,wBAAA;EAGA,yBAAA;EJiBE,kBAAA;EACA,YAAA;EACA,oBAAA;EUnEF,kCAAA;EL4BF,+CAAA;EAgDA,4CAAA;EAAA,8CAAA;EMpFA,yCAAA;ENoCA,gDAAA;;EAWI,mBAAA;EAqCJ,6CAAA;EAAA,+CAAA;EAhDA,uDAAA;APuDJ;;AEdQ;EQlEN,UAAA;AVmFF;;AW7FI;EFEF,wBPoEgC;EOnEhC,qBPmEgC;EOlEhC,gBPkEgC;EIlB5B,wBAAA;EAGA,yBAAA;EJiBE,kBAAA;EACA,YAAA;EACA,oBAAA;EUnEF,kCAAA;EL4BF,+CAAA;EAgDA,4CAAA;EAAA,8CAAA;EMpFA,yCAAA;ENoCA,gDAAA;;EAWI,mBAAA;EAqCJ,6CAAA;EAAA,+CAAA;EAhDA,uDAAA;APoEJ;;AE3BQ;EQlEN,UAAA;AVgGF;;AExBI;EACE,mBAAA;AF0BN;;AEtBE;EACE,kBAAA;AFwBJ;;AItGE;;ED4BA,WAAA;EGVI,cAAA;EJkEE,sBAAA;AFuBR;;AEjBI;EACE,eAAA;AFmBN;;AI9GE;;EUKI,sBAHA;EAIA,uBAJA;EZ4FE,2BAAA;EACA,uCAAA;EACA,+BAAA;EACA,4BAAA;AFqBR;;AItHE;;EFyGM,+BAAA;EYpGF,sBAHA;EAIA,uBAJA;AdyHN;;AEZE;EI7GI,sCAAA;AN4HN;;AETM;EI3HA,qCAAA;ANuIN;;AETQ;EY3GF,+BAXA;AdkIN;;AERQ;ECpIN,kBAAA;EAwCA,QAAA;EAJA,YAAA;AH6GF;;AIzIE;;EFyIM,kBAAA;AFGR;;AW1JI;EJuCA,6CAAA;AP0JJ;;AW7LI;EJmCA,6CAAA;AP6JJ;;Ae9JI;;ERCA,+BAAA;APoKJ;;AI7LE;EGyBE,iKAAA;APuKJ;;AIhME;EGyBE,+JAAA;EAAA,iHAAA;AP2KJ;;AIpME;EGyBE,+GAAA;AP8KJ;;AIvME;EGyBE,6FAAA;APkLJ;;AI3ME;EGyBE,iGAAA;APqLJ;;AI9ME;EGyBE,uDAAA;APwLJ;;AIjNE;EGyBE,iDAAA;;EAWI,mBAAA;EAqCJ,8CAAA;EAAA,gDAAA;AP8IJ;;AIvNE;EGyBE,6IAAA;APiMJ;;AI1NE;EGyBE,2IAAA;APoMJ;;AerHQ;;;ER/EJ,gCAAA;APuMJ;AgBjOI;ECRI,cAAA;;EAAA,cAAA;AjBDR;AgBSI;ECRI,cAAA;;EAAA,cAAA;AjBER;AgBMI;ECRI,cAAA;;EAAA,cAAA;AjBKR;AgBGI;ECRI,cAAA;;EAAA,cAAA;AjBQR;AkBNI;ECIA;;;IbKE,iBAAA;EN+OJ;;EmB9OE;ILcA,UAfE;EdkPJ;;EmB7OE;IAEE,2BAAA;EnB8OJ;;EIvPA;IAGI,aeKe;IZiBjB,yBAAA;EPiOF;;EmB/OI;ILEA,iBAXA;Ed2PJ;;EmB9OI;ILFA,oBAXA;Ed8PJ;;EWtOA;ILRI,eAAA;IaEI,uBAAA;IACA,yBAAA;IACA,wBAAA;IACA,kBAAA;EnBgPR;;EWvOA;ILdI,eAAA;IaWI,uBAAA;EnB8OR;;EWvPA;ILsBI,aAAA;IAGA,cAAA;IaXI,kBAAA;IPzCF,YAAA;ILgCJ,sBAAA;IAAA,yBAAA;EP8PF;;EmBlPM;IACE,oBAAA;EnBsPR;;EmB5OI;IAEE,+BAAA;IACA,4BAAA;EnBoPN;;EmBlPM;IbnDF,eAAA;EN+SJ;;EmBxPM;IACE,0BAAA;EnB4PR;;EWtRA;IQ6BU,6BAAA;EnB4PV;;EmBzPQ;ILnDJ,oBAXA;IJFJ,UAAA;EV6TA;;EmBxPQ;IACE,YAAA;EnB0PV;;EmBjPQ;;;Ib7EJ,eAAA;ENmUJ;;EW3SA;ILRI,cAAA;IauEM,sBAAA;EnBgPV;;EWzSA;ILdI,cAAA;EN0TJ;;EWxTA;ILsBI,WAAA;IAGA,YAAA;ENmSJ;;EmB3OM;IACE,6BAAA;EnB6OR;;EmB3OQ;IbtGJ,eAAA;ENoVJ;;EmB1OQ;IACE,wBAAA;EnB4OV;;EmB1OU;ILlGN,kBAXA;Ed0VJ;;EmBzOU;IACE,UAAA;EnB2OZ;;EI/VA;IGyBE,mCAAA;EP2UF;;EWzWE;IJ8BA,yBAAA;EPyWF;;Ee9WE;IRKA,cAAA;EP+WF;;EehXE;;IRCA,WAAA;EPoXF;;EI7YA;IGyBE,6FAAA;EPyXF;;EIlZA;IGyBE,6FAAA;IAAA,+DAAA;EP8XF;;EIvZA;IGyBE,6DAAA;EPwYF;;EIjaA;IGyBE,yDAAA;EP8YF;;EIvaA;IGyBE,yDAAA;EPmZF;;EI5aA;IGyBE,mCAAA;EPwZF;;EIjbA;IGyBE,yBAAA;EP6ZF;;EItbA;IGyBE,6FAAA;EPkaF;;EI3bA;IGyBE,uFAAA;EPuaF;;EexVM;;;IR/EJ,cAAA;EP4aF;AAzLF;AkBnRI;EPuCF;IJPE,yBAAA;EPuPF;;EWhPA;IJPE,yBAAA;EPwQF;;EmBjPI;IZvBF,oEAAA;EPmRF;AA3BF","file":"range.css","sourcesContent":[null,"@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-range-group {\n position: relative;\n}\n.fr-range-group--valid::before, .fr-range-group--error::before {\n content: \"\";\n display: block;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: -0.75rem;\n bottom: 0;\n left: -0.75rem;\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: 0.125rem 100%;\n}\n\n.fr-range {\n --thumb-size: 1.5rem;\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.fr-range input[type=range] {\n outline: none;\n width: 100%;\n}\n.fr-range__output {\n visibility: hidden;\n}\n.fr-range__output, .fr-range__min, .fr-range__max {\n text-align: center;\n min-width: var(--thumb-size);\n font-size: 0.75rem;\n line-height: 1.25rem;\n}\n.fr-range[data-fr-js-range] {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n}\n.fr-range[data-fr-js-range]::before, .fr-range[data-fr-js-range]::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 1.625rem;\n right: 0;\n left: 0;\n width: 100%;\n height: 0.75rem;\n border-radius: 0.375rem;\n}\n.fr-range[data-fr-js-range]::before {\n outline-offset: -1px;\n}\n.fr-range[data-fr-js-range]::after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n}\n.fr-range[data-fr-js-range] input[type=range] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n width: 100%;\n height: var(--thumb-size);\n z-index: 1;\n}\n.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: none;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] .fr-range__output {\n visibility: visible;\n}\n.fr-range--sm {\n --thumb-size: 1rem;\n}\n.fr-range--sm[data-fr-js-range]::before, .fr-range--sm[data-fr-js-range]::after {\n top: 1.5rem;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n.fr-range--step[data-fr-js-range] {\n --step-width: 0;\n}\n.fr-range--step[data-fr-js-range]::before, .fr-range--step[data-fr-js-range]::after {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: 0.625rem 0;\n background-clip: content-box;\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::before, .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n background-position: 0.375rem 0;\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n.fr-range--double .fr-range__output {\n min-width: calc(var(--thumb-size)* 2);\n}\n.fr-range--double[data-fr-js-range] input[type=range] {\n width: calc(100% - var(--thumb-size));\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) {\n margin-right: var(--thumb-size);\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) {\n position: absolute;\n right: 0;\n top: 1.25rem;\n}\n.fr-range--double.fr-range--step[data-fr-js-range]::before, .fr-range--double.fr-range--step[data-fr-js-range]::after {\n background-size: 0;\n}\n\n.fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range]::after {\n background-color: var(--background-active-blue-france);\n --idle: transparent;\n --hover: var(--background-active-blue-france-hover);\n --active: var(--background-active-blue-france-active);\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n\n.fr-range__output {\n color: var(--text-active-blue-france);\n}\n.fr-range__min, .fr-range__max {\n color: var(--text-mention-grey);\n}\n.fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px);\n}\n.fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px);\n box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france);\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france);\n}\n\n.fr-range-group--error::before {\n background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));\n}\n.fr-range-group--valid::before {\n background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-disabled-grey);\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: var(--background-disabled-grey);\n --idle: transparent;\n --hover: var(--background-disabled-grey-hover);\n --active: var(--background-disabled-grey-active);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px);\n}\n.fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: var(--text-disabled-grey);\n}\n\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output, .fr-range__min, .fr-range__max {\n min-width: 1.5rem;\n }\n .fr-range input[type=range] {\n padding: 0;\n }\n .fr-range[data-fr-js-range] {\n justify-content: flex-start;\n }\n .fr-range[data-fr-js-range]::after {\n content: none;\n }\n .fr-range[data-fr-js-range] .fr-range__max {\n margin-left: auto;\n }\n .fr-range[data-fr-js-range] input[type=range] {\n margin-top: -0.25rem;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.75rem;\n background: transparent;\n border-color: transparent;\n border-width: 0.625rem 0;\n color: transparent;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.75rem;\n border-radius: 0.375rem;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 50%;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: auto;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-position-y: 1.625rem;\n background-repeat: no-repeat;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-image: linear-gradient(to right, #000091 0, #000091 100%);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 3rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1.5rem);\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower {\n background-color: transparent;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1.5rem;\n z-index: 2;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1.5rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--sm[data-fr-js-range] .fr-range__output, .fr-range--sm[data-fr-js-range] .fr-range__min, .fr-range--sm[data-fr-js-range] .fr-range__max {\n min-width: 1rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.5rem;\n border-width: 0.5rem 0;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.5rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1rem;\n height: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double {\n background-position-y: 1.5rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 2rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1rem);\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::after {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n z-index: 500;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n border: 1px solid #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb {\n border: 1px solid #e5e5e5;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__min, .fr-range__max {\n color: #666;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: #929292;\n }\n}","////\n/// Range Main\n/// @group range\n////\n\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n\n@use 'module/path';\n@use 'module/shame/media-query';\n\n@include path.to-dist(2);\n@include media-query.order;\n\n@import 'index';\n@import 'style/module';\n@import 'style/scheme';\n\n@include _range-scheme;\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/reset';\n@use 'module/spacing';\n@use 'module/selector';\n@use 'module/disabled';\n\n#{selector.ns-group(range)} {\n @include relative;\n\n &--valid,\n &--error {\n @include before('', block) {\n pointer-events: none;\n @include absolute(0, -3v, 0, -3v);\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: spacing.space(0.5v 100%);\n }\n }\n}\n\n#{selector.ns(range)} {\n --thumb-size: #{spacing.space(6v)};\n @include relative;\n @include display-flex(row, null, space-between, wrap);\n\n input[type=range] {\n outline: none;\n @include width(100%);\n }\n\n &__output {\n visibility: hidden;\n }\n\n &__output,\n &__min,\n &__max {\n text-align: center;\n @include min-width(var(--thumb-size));\n @include text-style(xs);\n }\n\n &#{selector.ns-attr(js-range)} {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n\n @include _pseudo (before after, '', block) {\n @include absolute(6.5v, 0, null, 0);\n @include size(100%, 3v);\n border-radius: spacing.space(1.5v);\n }\n\n @include before {\n outline-offset: -1px;\n }\n\n @include after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n }\n\n input[type=range] {\n @include reset.appearance(none);\n background-color: transparent;\n @include size(100%, var(--thumb-size));\n @include z-index(over);\n\n &:not(:only-of-type) {\n pointer-events: none;\n }\n\n @include selector.range-thumb {\n @include reset.appearance(none);\n @include size(var(--thumb-size), var(--thumb-size));\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n\n &:active {\n @include z-index(above);\n }\n }\n }\n\n #{selector.ns(range__output)} {\n visibility: visible;\n }\n }\n\n &--sm {\n --thumb-size: #{spacing.space(4v)};\n\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n @include top(6v);\n @include height(2v);\n border-radius: spacing.space(1v);\n }\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n --step-width: 0;\n @include _pseudo(before after) {\n @include padding-x(2.5v);\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: spacing.space(2.5v 0);\n background-clip: content-box;\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-position: spacing.space(1.5v 0);\n @include padding-x(1.5v);\n }\n }\n }\n\n &--double &__output {\n @include min-width(calc(var(--thumb-size) * 2));\n }\n\n &--double {\n &#{selector.ns-attr(js-range)} {\n input[type=range] {\n @include width(calc(100% - var(--thumb-size)));\n\n &:nth-of-type(1) {\n @include margin-right(var(--thumb-size));\n }\n\n &:nth-of-type(2) {\n @include absolute;\n @include right(0);\n @include top(5v);\n }\n }\n }\n }\n\n // step désactivé sur le curseur double\n &--double#{&}--step {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-size: 0;\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(5.5v);\n // background-position: spacing.space(5.5v 0);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(3.5v);\n // background-position: spacing.space(3.5v 0);\n // }\n // }\n // }\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/shadows';\n\n@mixin shadow($layer) {\n @if map.has-key(shadows.$values, $layer) {\n filter: drop-shadow(var(--#{$layer}-shadow));\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Input Legacy\n/// @group input\n////\n\n@use 'module/legacy';\n@use 'module/selector';\n@use 'module/disabled';\n@use 'module/color';\n@use 'module/spacing';\n\n@include legacy.is(ie11) {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(6v);\n }\n\n input[type=range] {\n @include padding(0);\n }\n\n &#{selector.ns-attr(js-range)} {\n @include after(none);\n justify-content: flex-start;\n\n #{selector.ns(range__max)} {\n @include margin-left(auto);\n }\n\n input[type=range] {\n @include margin-top(-1v);\n\n @include selector.range-ms-track {\n @include height(3v);\n background: transparent;\n border-color: transparent;\n border-width: #{spacing.space(2.5v)} 0;\n color: transparent;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(3v);\n @include color.background(active blue-france, (legacy: true));\n border-radius: spacing.space(1.5v);\n }\n\n @include selector.range-ms-thumb {\n @include size(6v, 6v);\n border-radius: 50%;\n }\n\n &:not(:only-of-type) {\n pointer-events: auto;\n }\n\n @include disabled.selector {\n @include selector.range-ms-fill-lower {\n @include color.background(disabled grey, (legacy: true));\n }\n }\n }\n\n &#{selector.ns(range)}--double {\n @include color.background-image(active blue-france, (legacy: true), 'linear-gradient(to right, $COLOR 0, $COLOR 100%)');\n background-position-y: spacing.space(6.5v);\n background-repeat: no-repeat;\n\n #{selector.ns(range__output)} {\n @include min-width(12v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(6v)});\n\n @include selector.range-ms-fill-lower {\n background-color: transparent;\n }\n\n &:nth-of-type(1) {\n @include margin-right(6v);\n @include z-index(above);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(6v)};\n }\n }\n }\n }\n\n &--sm {\n &#{selector.ns-attr(js-range)} {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(4v);\n }\n }\n\n input[type=range] {\n @include selector.range-ms-track {\n @include height(2v);\n border-width: #{spacing.space(2v)} 0;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(2v);\n }\n\n @include selector.range-ms-thumb {\n @include size(4v, 4v);\n }\n }\n\n &#{selector.ns(range)}--double {\n background-position-y: spacing.space(6v);\n\n #{selector.ns(range__output)} {\n @include min-width(8v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(4v)});\n\n &:nth-of-type(1) {\n @include margin-right(4v);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(4v)};\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.legacy.css b/design_system_admin/dsfr/component/range/range.legacy.css new file mode 100644 index 0000000000000000000000000000000000000000..7c3d7caf000cdfc043c4e6b4646c0cf5d1e18b81 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.legacy.css @@ -0,0 +1,208 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media (min-width: 36em) { + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .fr-range__output, + .fr-range__min, + .fr-range__max { + min-width: 1.5rem; + } + + .fr-range input[type=range] { + padding: 0; + } + + .fr-range[data-fr-js-range] { + justify-content: flex-start; + } + + .fr-range[data-fr-js-range]::after { + content: none; + background-color: #000091; + } + + .fr-range[data-fr-js-range] .fr-range__max { + margin-left: auto; + } + + .fr-range[data-fr-js-range] input[type=range] { + margin-top: -0.25rem; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-track { + height: 0.75rem; + background: transparent; + border-color: transparent; + border-width: 0.625rem 0; + color: transparent; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower { + height: 0.75rem; + border-radius: 0.375rem; + } + + .fr-range[data-fr-js-range] input[type=range]::-ms-thumb { + width: 1.5rem; + height: 1.5rem; + border-radius: 50%; + z-index: 500; + background-color: #fff; + border: 1px solid #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) { + pointer-events: auto; + } + + .fr-range[data-fr-js-range].fr-range--double { + background-position-y: 1.625rem; + background-repeat: no-repeat; + } + + .fr-range[data-fr-js-range].fr-range--double .fr-range__output { + min-width: 3rem; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range] { + width: calc(100% - 1.5rem); + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower { + background-color: transparent; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) { + margin-right: 1.5rem; + z-index: 2; + } + + .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) { + left: 1.5rem; + } + + .fr-range--sm[data-fr-js-range] .fr-range__output, + .fr-range--sm[data-fr-js-range] .fr-range__min, + .fr-range--sm[data-fr-js-range] .fr-range__max { + min-width: 1rem; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track { + height: 0.5rem; + border-width: 0.5rem 0; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower { + height: 0.5rem; + } + + .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb { + width: 1rem; + height: 1rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double { + background-position-y: 1.5rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output { + min-width: 2rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] { + width: calc(100% - 1rem); + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) { + margin-right: 1rem; + } + + .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) { + left: 1rem; + } + + .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb { + border: 1px solid #e5e5e5; + } + + .fr-range__output { + color: #000091; + } + + .fr-range__min, + .fr-range__max { + color: #666; + } + + .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px); + } + + .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px); + box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091; + } + + .fr-range--step.fr-range--sm[data-fr-js-range]::after { + box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091; + } + + .fr-range-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-range-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-range-group--disabled .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-range-group--disabled .fr-range[data-fr-js-range]::after { + background-color: #e5e5e5; + } + + .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px); + } + + .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px); + } + + .fr-range-group--disabled .fr-range__output, + .fr-range-group--disabled .fr-range__min, + .fr-range-group--disabled .fr-range__max { + color: #929292; + } +} +@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) { + .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower { + background-color: #000091; + } + + .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower { + background-color: #e5e5e5; + } + + .fr-range[data-fr-js-range].fr-range--double { + background-image: linear-gradient(to right, #000091 0, #000091 100%); + } +} diff --git a/design_system_admin/dsfr/component/range/range.legacy.css.map b/design_system_admin/dsfr/component/range/range.legacy.css.map new file mode 100644 index 0000000000000000000000000000000000000000..335df7ff2a5e636de6a717faa961bbdd29745912 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.legacy.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","%3Cinput%20css%20m-kOD3%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA;ACeI;ECRI,cAAA;ACLR;AFaI;ECRI,cAAA;ACFR;AFUI;ECRI,cAAA;ACCR;AFOI;ECRI,cAAA;ACIR;ACFI;ECIA;;;ICKE,iBAAA;EHHJ;;EEIE;IEcA,UAfE;EJAJ;;EEKE;IAEE,2BAAA;EFJJ;;EKLA;IAGI,aHKe;IIiBjB,yBAAA;ENjBF;;EEGI;IEEA,iBAXA;EJSJ;;EEII;IEFA,oBAXA;EJYJ;;EOYA;IJRI,eAAA;IDEI,uBAAA;IACA,yBAAA;IACA,wBAAA;IACA,kBAAA;EFFR;;EOWA;IJdI,eAAA;IDWI,uBAAA;EFJR;;EOLA;IJsBI,aAAA;IAGA,cAAA;IDXI,kBAAA;IMzCF,YAAA;IFgCJ,sBAAA;IAAA,yBAAA;ENYF;;EEAM;IACE,oBAAA;EFIR;;EEMI;IAEE,+BAAA;IACA,4BAAA;EFEN;;EEAM;ICnDF,eAAA;EH6DJ;;EENM;IACE,0BAAA;EFUR;;EOpCA;IL6BU,6BAAA;EFUV;;EEPQ;IEnDJ,oBAXA;IKFJ,UAAA;ET2EA;;EENQ;IACE,YAAA;EFQV;;EECQ;;;IC7EJ,eAAA;EHiFJ;;EOzDA;IJRI,cAAA;IDuEM,sBAAA;EFFV;;EOvDA;IJdI,cAAA;EHwEJ;;EOtEA;IJsBI,WAAA;IAGA,YAAA;EHiDJ;;EEOM;IACE,6BAAA;EFLR;;EEOQ;ICtGJ,eAAA;EHkGJ;;EEQQ;IACE,wBAAA;EFNV;;EEQU;IElGN,kBAXA;EJwGJ;;EESU;IACE,UAAA;EFPZ;;EK7GA;ICyBE,mCAAA;ENyFF;;EOvHE;ID8BA,yBAAA;ENuHF;;EU5HE;IJKA,cAAA;EN6HF;;EU9HE;;IJCA,WAAA;ENkIF;;EK3JA;ICyBE,6FAAA;ENuIF;;EKhKA;ICyBE,6FAAA;IAAA,+DAAA;EN4IF;;EKrKA;ICyBE,6DAAA;ENsJF;;EK/KA;ICyBE,yDAAA;EN4JF;;EKrLA;ICyBE,yDAAA;ENiKF;;EK1LA;ICyBE,mCAAA;ENsKF;;EK/LA;ICyBE,yBAAA;EN2KF;;EKpMA;ICyBE,6FAAA;ENgLF;;EKzMA;ICyBE,uFAAA;ENqLF;;EUtGM;;;IJ/EJ,cAAA;EN0LF;AAzLF;ACjCI;EMuCF;IDPE,yBAAA;ENKF;;EOEA;IDPE,yBAAA;ENsBF;;EECI;IIvBF,oEAAA;ENiCF;AA3BF","file":"range.legacy.css","sourcesContent":[null,"@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output, .fr-range__min, .fr-range__max {\n min-width: 1.5rem;\n }\n .fr-range input[type=range] {\n padding: 0;\n }\n .fr-range[data-fr-js-range] {\n justify-content: flex-start;\n }\n .fr-range[data-fr-js-range]::after {\n content: none;\n }\n .fr-range[data-fr-js-range] .fr-range__max {\n margin-left: auto;\n }\n .fr-range[data-fr-js-range] input[type=range] {\n margin-top: -0.25rem;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.75rem;\n background: transparent;\n border-color: transparent;\n border-width: 0.625rem 0;\n color: transparent;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.75rem;\n border-radius: 0.375rem;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 50%;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: auto;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-position-y: 1.625rem;\n background-repeat: no-repeat;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-image: linear-gradient(to right, #000091 0, #000091 100%);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 3rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1.5rem);\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower {\n background-color: transparent;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1.5rem;\n z-index: 2;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1.5rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--sm[data-fr-js-range] .fr-range__output, .fr-range--sm[data-fr-js-range] .fr-range__min, .fr-range--sm[data-fr-js-range] .fr-range__max {\n min-width: 1rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.5rem;\n border-width: 0.5rem 0;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.5rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1rem;\n height: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double {\n background-position-y: 1.5rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 2rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1rem);\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::after {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n z-index: 500;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n border: 1px solid #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb {\n border: 1px solid #e5e5e5;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__min, .fr-range__max {\n color: #666;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: #929292;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Input Legacy\n/// @group input\n////\n\n@use 'module/legacy';\n@use 'module/selector';\n@use 'module/disabled';\n@use 'module/color';\n@use 'module/spacing';\n\n@include legacy.is(ie11) {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(6v);\n }\n\n input[type=range] {\n @include padding(0);\n }\n\n &#{selector.ns-attr(js-range)} {\n @include after(none);\n justify-content: flex-start;\n\n #{selector.ns(range__max)} {\n @include margin-left(auto);\n }\n\n input[type=range] {\n @include margin-top(-1v);\n\n @include selector.range-ms-track {\n @include height(3v);\n background: transparent;\n border-color: transparent;\n border-width: #{spacing.space(2.5v)} 0;\n color: transparent;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(3v);\n @include color.background(active blue-france, (legacy: true));\n border-radius: spacing.space(1.5v);\n }\n\n @include selector.range-ms-thumb {\n @include size(6v, 6v);\n border-radius: 50%;\n }\n\n &:not(:only-of-type) {\n pointer-events: auto;\n }\n\n @include disabled.selector {\n @include selector.range-ms-fill-lower {\n @include color.background(disabled grey, (legacy: true));\n }\n }\n }\n\n &#{selector.ns(range)}--double {\n @include color.background-image(active blue-france, (legacy: true), 'linear-gradient(to right, $COLOR 0, $COLOR 100%)');\n background-position-y: spacing.space(6.5v);\n background-repeat: no-repeat;\n\n #{selector.ns(range__output)} {\n @include min-width(12v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(6v)});\n\n @include selector.range-ms-fill-lower {\n background-color: transparent;\n }\n\n &:nth-of-type(1) {\n @include margin-right(6v);\n @include z-index(above);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(6v)};\n }\n }\n }\n }\n\n &--sm {\n &#{selector.ns-attr(js-range)} {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(4v);\n }\n }\n\n input[type=range] {\n @include selector.range-ms-track {\n @include height(2v);\n border-width: #{spacing.space(2v)} 0;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(2v);\n }\n\n @include selector.range-ms-thumb {\n @include size(4v, 4v);\n }\n }\n\n &#{selector.ns(range)}--double {\n background-position-y: spacing.space(6v);\n\n #{selector.ns(range__output)} {\n @include min-width(8v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(4v)});\n\n &:nth-of-type(1) {\n @include margin-right(4v);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(4v)};\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.legacy.min.css b/design_system_admin/dsfr/component/range/range.legacy.min.css new file mode 100644 index 0000000000000000000000000000000000000000..3029ef9624700f42ce4ff8594edccead70ff8024 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.legacy.min.css @@ -0,0 +1,7 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media (min-width:36em){ + /*! media sm */}@media (min-width:48em){ + /*! media md */}@media (min-width:62em){ + /*! media lg */}@media (min-width:78em){ + /*! media xl */}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.fr-range__max,.fr-range__min,.fr-range__output{min-width:1.5rem}.fr-range input[type=range]{padding:0}.fr-range[data-fr-js-range]{justify-content:flex-start}.fr-range[data-fr-js-range]:after{background-color:#000091;content:none}.fr-range[data-fr-js-range] .fr-range__max{margin-left:auto}.fr-range[data-fr-js-range] input[type=range]{margin-top:-.25rem}.fr-range[data-fr-js-range] input[type=range]::-ms-track{background:transparent;border-color:transparent;border-width:.625rem 0;color:transparent;height:.75rem}.fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower{border-radius:.375rem;height:.75rem}.fr-range[data-fr-js-range] input[type=range]::-ms-thumb{background-color:#fff;border:1px solid #000091;border-radius:50%;height:1.5rem;width:1.5rem;z-index:500}.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type){pointer-events:auto}.fr-range[data-fr-js-range].fr-range--double{background-position-y:1.625rem;background-repeat:no-repeat}.fr-range[data-fr-js-range].fr-range--double .fr-range__output{min-width:3rem}.fr-range[data-fr-js-range].fr-range--double input[type=range]{width:calc(100% - 1.5rem)}.fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower{background-color:transparent}.fr-range[data-fr-js-range].fr-range--double input[type=range]:first-of-type{margin-right:1.5rem;z-index:2}.fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2){left:1.5rem}.fr-range--sm[data-fr-js-range] .fr-range__max,.fr-range--sm[data-fr-js-range] .fr-range__min,.fr-range--sm[data-fr-js-range] .fr-range__output{min-width:1rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-track{border-width:.5rem 0;height:.5rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower{height:.5rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb{height:1rem;width:1rem}.fr-range--sm[data-fr-js-range].fr-range--double{background-position-y:1.5rem}.fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output{min-width:2rem}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]{width:calc(100% - 1rem)}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:first-of-type{margin-right:1rem}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2){left:1rem}.fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px #000091}.fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb{border:1px solid #e5e5e5}.fr-range__output{color:#000091}.fr-range__max,.fr-range__min{color:#666}.fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,#000091 0,#000091 1px,transparent 0)}.fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,#e3e3fd 0,#e3e3fd 2px,transparent 0);box-shadow:inset 10px 0 0 0 #000091,inset -10px 0 0 0 #000091}.fr-range--step.fr-range--sm[data-fr-js-range]:after{box-shadow:inset 6px 0 0 0 #000091,inset -6px 0 0 0 #000091}.fr-range-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-range-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-range-group--disabled .fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px #e5e5e5}.fr-range-group--disabled .fr-range[data-fr-js-range]:after{background-color:#e5e5e5}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,#e5e5e5 0,#e5e5e5 1px,transparent 0)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,#fff 0,#fff 2px,transparent 0)}.fr-range-group--disabled .fr-range__max,.fr-range-group--disabled .fr-range__min,.fr-range-group--disabled .fr-range__output{color:#929292}}@media (-ms-high-contrast:active) and (-ms-high-contrast:active),(-ms-high-contrast:active) and (-ms-high-contrast:none),(-ms-high-contrast:none) and (-ms-high-contrast:active),(-ms-high-contrast:none) and (-ms-high-contrast:none){.fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower{background-color:#000091}.fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower{background-color:#e5e5e5}.fr-range[data-fr-js-range].fr-range--double{background-image:linear-gradient(90deg,#000091 0,#000091)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.legacy.min.css.map b/design_system_admin/dsfr/component/range/range.legacy.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..935fc360eaff5f3b76574c30fd1cc1d156d56a5c --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.legacy.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","%3Cinput%20css%20Fu0Mbj%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA,ACeI;ECRI,cAAA,CCLR,CFaI;ECRI,cAAA,CCFR,CFUI;ECRI,cAAA,CCCR,CFOI;ECRI,cAAA,CCIR,CCFI,2DCIA,gDCKE,gBHHJ,CEIE,4BEcA,SJfF,CEKE,4BAEE,0BFJJ,CKLA,kCCyBE,wBAAA,CDtBE,YLKJ,CEGI,2CEEA,gBJFJ,CEII,8CEFA,kBJCJ,COYA,yDLNQ,sBAAA,CACA,wBAAA,CACA,sBAAA,CACA,iBAAA,CCLJ,aHGJ,COWA,8DLHQ,qBAAA,CCXJ,aHOJ,COLA,yDDKE,qBAAA,CAAA,wBAAA,CJSM,iBAAA,CCWJ,aAAA,CAHA,YAAA,CKjDE,WR4CN,CEAM,iEACE,mBFIR,CEMI,6CAEE,8BAAA,CACA,2BFEN,CEAM,+DCnDF,cH6DJ,CENM,+DACE,yBFUR,COpCA,+EL6BU,4BFUV,CEPQ,6EEnDJ,mBAXA,CKFJ,ST2EA,CENQ,8EACE,WFQV,CECQ,gJC7EJ,cHiFJ,COzDA,6DL+DU,oBAAA,CCvEN,YHqEJ,COvDA,kEJdI,YHwEJ,COtEA,6DJyBI,WAAA,CAHA,UHoDJ,CEOM,iDACE,4BFLR,CEOQ,mECtGJ,cHkGJ,CEQQ,mEACE,uBFNV,CEQU,iFElGN,iBJ6FJ,CESU,kFACE,SFPZ,CK7GA,mCCyBE,kCNyFF,COvHE,kED8BA,wBNuHF,CU5HE,kBJKA,aN6HF,CU9HE,8BJCA,UNkIF,CK3JA,yCCyBE,uFNuIF,CKhKA,wCCyBE,uFAAA,CAAA,6DN4IF,CKrKA,qDCyBE,2DNsJF,CK/KA,8BCyBE,sDN4JF,CKrLA,8BCyBE,sDNiKF,CK1LA,6DCyBE,kCNsKF,CK/LA,4DCyBE,wBN2KF,CKpMA,mECyBE,uFNgLF,CKzMA,kECyBE,iFNqLF,CUtGM,8HJ/EJ,aN0LF,CAzLF,CCjCI,uOMuCF,8DDPE,wBNKF,COEA,uEDPE,wBNsBF,CECI,6CIvBF,yDNiCF,CA3BF","file":"range.legacy.min.css","sourcesContent":[null,"@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output, .fr-range__min, .fr-range__max {\n min-width: 1.5rem;\n }\n .fr-range input[type=range] {\n padding: 0;\n }\n .fr-range[data-fr-js-range] {\n justify-content: flex-start;\n }\n .fr-range[data-fr-js-range]::after {\n content: none;\n }\n .fr-range[data-fr-js-range] .fr-range__max {\n margin-left: auto;\n }\n .fr-range[data-fr-js-range] input[type=range] {\n margin-top: -0.25rem;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.75rem;\n background: transparent;\n border-color: transparent;\n border-width: 0.625rem 0;\n color: transparent;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.75rem;\n border-radius: 0.375rem;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 50%;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: auto;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-position-y: 1.625rem;\n background-repeat: no-repeat;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-image: linear-gradient(to right, #000091 0, #000091 100%);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 3rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1.5rem);\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower {\n background-color: transparent;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1.5rem;\n z-index: 2;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1.5rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--sm[data-fr-js-range] .fr-range__output, .fr-range--sm[data-fr-js-range] .fr-range__min, .fr-range--sm[data-fr-js-range] .fr-range__max {\n min-width: 1rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.5rem;\n border-width: 0.5rem 0;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.5rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1rem;\n height: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double {\n background-position-y: 1.5rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 2rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1rem);\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::after {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n z-index: 500;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n border: 1px solid #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb {\n border: 1px solid #e5e5e5;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__min, .fr-range__max {\n color: #666;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: #929292;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Input Legacy\n/// @group input\n////\n\n@use 'module/legacy';\n@use 'module/selector';\n@use 'module/disabled';\n@use 'module/color';\n@use 'module/spacing';\n\n@include legacy.is(ie11) {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(6v);\n }\n\n input[type=range] {\n @include padding(0);\n }\n\n &#{selector.ns-attr(js-range)} {\n @include after(none);\n justify-content: flex-start;\n\n #{selector.ns(range__max)} {\n @include margin-left(auto);\n }\n\n input[type=range] {\n @include margin-top(-1v);\n\n @include selector.range-ms-track {\n @include height(3v);\n background: transparent;\n border-color: transparent;\n border-width: #{spacing.space(2.5v)} 0;\n color: transparent;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(3v);\n @include color.background(active blue-france, (legacy: true));\n border-radius: spacing.space(1.5v);\n }\n\n @include selector.range-ms-thumb {\n @include size(6v, 6v);\n border-radius: 50%;\n }\n\n &:not(:only-of-type) {\n pointer-events: auto;\n }\n\n @include disabled.selector {\n @include selector.range-ms-fill-lower {\n @include color.background(disabled grey, (legacy: true));\n }\n }\n }\n\n &#{selector.ns(range)}--double {\n @include color.background-image(active blue-france, (legacy: true), 'linear-gradient(to right, $COLOR 0, $COLOR 100%)');\n background-position-y: spacing.space(6.5v);\n background-repeat: no-repeat;\n\n #{selector.ns(range__output)} {\n @include min-width(12v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(6v)});\n\n @include selector.range-ms-fill-lower {\n background-color: transparent;\n }\n\n &:nth-of-type(1) {\n @include margin-right(6v);\n @include z-index(above);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(6v)};\n }\n }\n }\n }\n\n &--sm {\n &#{selector.ns-attr(js-range)} {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(4v);\n }\n }\n\n input[type=range] {\n @include selector.range-ms-track {\n @include height(2v);\n border-width: #{spacing.space(2v)} 0;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(2v);\n }\n\n @include selector.range-ms-thumb {\n @include size(4v, 4v);\n }\n }\n\n &#{selector.ns(range)}--double {\n background-position-y: spacing.space(6v);\n\n #{selector.ns(range__output)} {\n @include min-width(8v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(4v)});\n\n &:nth-of-type(1) {\n @include margin-right(4v);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(4v)};\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.main.css b/design_system_admin/dsfr/component/range/range.main.css new file mode 100644 index 0000000000000000000000000000000000000000..1d94d1561a93249527ba8171a62a97a024b1528e --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.main.css @@ -0,0 +1,283 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; + +/* ¯¯¯¯¯¯¯¯¯ *\ + RANGE +\* ˍˍˍˍˍˍˍˍˍ */ +.fr-range-group { + position: relative; +} + +.fr-range-group--valid::before, +.fr-range-group--error::before { + content: ""; + display: block; + pointer-events: none; + position: absolute; + top: 0; + right: -0.75rem; + bottom: 0; + left: -0.75rem; + background-repeat: no-repeat; + background-position: 0 0; + background-size: 0.125rem 100%; +} + +.fr-range { + --thumb-size: 1.5rem; + position: relative; + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap; +} + +.fr-range input[type=range] { + outline: none; + width: 100%; +} + +.fr-range__output { + visibility: hidden; + color: var(--text-active-blue-france); +} + +.fr-range__output, +.fr-range__min, +.fr-range__max { + text-align: center; + min-width: var(--thumb-size); + font-size: 0.75rem; + line-height: 1.25rem; +} + +.fr-range[data-fr-js-range] { + --progress-left: 0; + --progress-right: calc(var(--thumb-size) * 0.5); +} + +.fr-range[data-fr-js-range]::before, +.fr-range[data-fr-js-range]::after { + content: ""; + display: block; + position: absolute; + top: 1.625rem; + right: 0; + left: 0; + width: 100%; + height: 0.75rem; + border-radius: 0.375rem; +} + +.fr-range[data-fr-js-range]::before { + outline-offset: -1px; + box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range]::after { + clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%); + background-color: var(--background-active-blue-france); + + --idle: transparent; + --hover: var(--background-active-blue-france-hover); + --active: var(--background-active-blue-france-active); +} + +.fr-range[data-fr-js-range] input[type=range] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + width: 100%; + height: var(--thumb-size); + z-index: 1; +} + +.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) { + pointer-events: none; +} + +.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: var(--thumb-size); + height: var(--thumb-size); + border-radius: 50%; + border: none; + pointer-events: auto; + z-index: calc(var(--ground) + 500); + background-color: var(--background-raised-grey); + --hover: var(--background-raised-grey-hover); + --active: var(--background-raised-grey-active); + filter: drop-shadow(var(--raised-shadow)); + background-color: var(--background-default-grey); + + --idle: transparent; + --hover: var(--background-default-grey-hover); + --active: var(--background-default-grey-active); + border: 1px solid var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active { + z-index: 2; +} + +.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: var(--thumb-size); + height: var(--thumb-size); + border-radius: 50%; + border: none; + pointer-events: auto; + z-index: calc(var(--ground) + 500); + background-color: var(--background-raised-grey); + --hover: var(--background-raised-grey-hover); + --active: var(--background-raised-grey-active); + filter: drop-shadow(var(--raised-shadow)); + background-color: var(--background-default-grey); + + --idle: transparent; + --hover: var(--background-default-grey-hover); + --active: var(--background-default-grey-active); + border: 1px solid var(--border-action-high-blue-france); +} + +.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active { + z-index: 2; +} + +.fr-range[data-fr-js-range] .fr-range__output { + visibility: visible; +} + +.fr-range--sm { + --thumb-size: 1rem; +} + +.fr-range--sm[data-fr-js-range]::before, +.fr-range--sm[data-fr-js-range]::after { + top: 1.5rem; + height: 0.5rem; + border-radius: 0.25rem; +} + +.fr-range--step[data-fr-js-range] { + --step-width: 0; +} + +.fr-range--step[data-fr-js-range]::before, +.fr-range--step[data-fr-js-range]::after { + padding-left: 0.625rem; + padding-right: 0.625rem; + background-repeat: repeat-x; + background-size: var(--step-width) 100%; + background-position: 0.625rem 0; + background-clip: content-box; +} + +.fr-range--step.fr-range--sm[data-fr-js-range]::before, +.fr-range--step.fr-range--sm[data-fr-js-range]::after { + background-position: 0.375rem 0; + padding-left: 0.375rem; + padding-right: 0.375rem; +} + +.fr-range--double .fr-range__output { + min-width: calc(var(--thumb-size) * 2); +} + +.fr-range--double[data-fr-js-range] input[type=range] { + width: calc(100% - var(--thumb-size)); +} + +.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) { + margin-right: var(--thumb-size); +} + +.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) { + position: absolute; + right: 0; + top: 1.25rem; +} + +.fr-range--double.fr-range--step[data-fr-js-range]::before, +.fr-range--double.fr-range--step[data-fr-js-range]::after { + background-size: 0; +} + +.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb { + border: 1px solid var(--border-disabled-grey); +} + +.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb { + border: 1px solid var(--border-disabled-grey); +} + +.fr-range__min, +.fr-range__max { + color: var(--text-mention-grey); +} + +.fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px); +} + +.fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px); + box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france); +} + +.fr-range--step.fr-range--sm[data-fr-js-range]::after { + box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france); +} + +.fr-range-group--error::before { + background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error)); +} + +.fr-range-group--valid::before { + background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success)); +} + +.fr-range-group--disabled .fr-range[data-fr-js-range]::before { + box-shadow: inset 0 0 0 1px var(--border-disabled-grey); +} + +.fr-range-group--disabled .fr-range[data-fr-js-range]::after { + background-color: var(--background-disabled-grey); + + --idle: transparent; + --hover: var(--background-disabled-grey-hover); + --active: var(--background-disabled-grey-active); +} + +.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before { + background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px); +} + +.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after { + background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px); +} + +.fr-range-group--disabled .fr-range__output, +.fr-range-group--disabled .fr-range__min, +.fr-range-group--disabled .fr-range__max { + color: var(--text-disabled-grey); +} +@media (min-width: 36em) { + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ +} diff --git a/design_system_admin/dsfr/component/range/range.main.css.map b/design_system_admin/dsfr/component/range/range.main.css.map new file mode 100644 index 0000000000000000000000000000000000000000..5beec7b27b811f6e5f3dedc0d80fee2ca1c44fe2 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20ocNTKQ%3E","file:///Users/ket/Documents/work/dsfr/src/component/range/main.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_shadow.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;;ACKhB;;cAAA;ACKA;ECFE,kBAAA;AHUF;;AIFE;;EAGI,WFJc;EEQd,cAAA;EFPA,oBAAA;ECRJ,kBAAA;EAEE,MAAA;EAGA,eAAA;EAGA,SAAA;EAGA,cAAA;EDDE,4BAAA;EACA,wBAAA;EACA,8BAAA;AFWN;;AENA;EACE,oBAAA;EClBA,kBAAA;EEGE,aAAA;EAIA,mBAAA;EAQA,8BAAA;EAIA,eAAA;ALaJ;;AEVE;EACE,aAAA;EIrBE,WAAA;ANkCN;;AETE;EACE,kBAAA;EKKA,qCAAA;APMJ;;AERE;;;EAGE,kBAAA;EIxBE,4BAAA;EEQJ,kBAAA;EAGE,oBAAA;ARwBJ;;AENE;EACE,kBAAA;EACA,+CAAA;AFQJ;;AIzCE;;EAGI,WFgC8B;EE5B9B,cAAA;EDfJ,kBAAA;EAEE,aAAA;EAGA,QAAA;EAMA,OAAA;EGuCE,WAAA;EAGA,eAAA;EJPA,uBAAA;AFcN;;AIpDE;EF0CI,oBAAA;EKjBF,iEAAA;AP8BJ;;AIvDE;EF8CI,0HAAA;EKrBF,sDAAA;;EAWI,mBAAA;EAqCJ,mDAAA;EAAA,qDAAA;APfJ;;AETI;EOzDF,wBP0D8B;EOzD9B,qBPyD8B;EOxD9B,gBPwD8B;EAC1B,6BAAA;EITA,WAAA;EAGA,yBAAA;EI7CJ,UAAA;AVmEF;;AEZM;EACE,oBAAA;AFcR;;AWpFI;EFMF,wBPoEgC;EOnEhC,qBPmEgC;EOlEhC,gBPkEgC;EIlB5B,wBAAA;EAGA,yBAAA;EJiBE,kBAAA;EACA,YAAA;EACA,oBAAA;EUnEF,kCAAA;EL4BF,+CAAA;EAgDA,4CAAA;EAAA,8CAAA;EMpFA,yCAAA;ENoCA,gDAAA;;EAWI,mBAAA;EAqCJ,6CAAA;EAAA,+CAAA;EAhDA,uDAAA;APuDJ;;AEdQ;EQlEN,UAAA;AVmFF;;AW7FI;EFEF,wBPoEgC;EOnEhC,qBPmEgC;EOlEhC,gBPkEgC;EIlB5B,wBAAA;EAGA,yBAAA;EJiBE,kBAAA;EACA,YAAA;EACA,oBAAA;EUnEF,kCAAA;EL4BF,+CAAA;EAgDA,4CAAA;EAAA,8CAAA;EMpFA,yCAAA;ENoCA,gDAAA;;EAWI,mBAAA;EAqCJ,6CAAA;EAAA,+CAAA;EAhDA,uDAAA;APoEJ;;AE3BQ;EQlEN,UAAA;AVgGF;;AExBI;EACE,mBAAA;AF0BN;;AEtBE;EACE,kBAAA;AFwBJ;;AItGE;;ED4BA,WAAA;EGVI,cAAA;EJkEE,sBAAA;AFuBR;;AEjBI;EACE,eAAA;AFmBN;;AI9GE;;EUKI,sBAHA;EAIA,uBAJA;EZ4FE,2BAAA;EACA,uCAAA;EACA,+BAAA;EACA,4BAAA;AFqBR;;AItHE;;EFyGM,+BAAA;EYpGF,sBAHA;EAIA,uBAJA;AdyHN;;AEZE;EI7GI,sCAAA;AN4HN;;AETM;EI3HA,qCAAA;ANuIN;;AETQ;EY3GF,+BAXA;AdkIN;;AERQ;ECpIN,kBAAA;EAwCA,QAAA;EAJA,YAAA;AH6GF;;AIzIE;;EFyIM,kBAAA;AFGR;;AW1JI;EJuCA,6CAAA;AP0JJ;;AW7LI;EJmCA,6CAAA;AP6JJ;;Ae9JI;;ERCA,+BAAA;APoKJ;;AI7LE;EGyBE,iKAAA;APuKJ;;AIhME;EGyBE,+JAAA;EAAA,iHAAA;AP2KJ;;AIpME;EGyBE,+GAAA;AP8KJ;;AIvME;EGyBE,6FAAA;APkLJ;;AI3ME;EGyBE,iGAAA;APqLJ;;AI9ME;EGyBE,uDAAA;APwLJ;;AIjNE;EGyBE,iDAAA;;EAWI,mBAAA;EAqCJ,8CAAA;EAAA,gDAAA;AP8IJ;;AIvNE;EGyBE,6IAAA;APiMJ;;AI1NE;EGyBE,2IAAA;APoMJ;;AerHQ;;;ER/EJ,gCAAA;APuMJ;AgBjOI;ECRI,cAAA;AjBDR;AgBSI;ECRI,cAAA;AjBER;AgBMI;ECRI,cAAA;AjBKR;AgBGI;ECRI,cAAA;AjBQR","file":"range.main.css","sourcesContent":[null,"@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-range-group {\n position: relative;\n}\n.fr-range-group--valid::before, .fr-range-group--error::before {\n content: \"\";\n display: block;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: -0.75rem;\n bottom: 0;\n left: -0.75rem;\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: 0.125rem 100%;\n}\n\n.fr-range {\n --thumb-size: 1.5rem;\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.fr-range input[type=range] {\n outline: none;\n width: 100%;\n}\n.fr-range__output {\n visibility: hidden;\n}\n.fr-range__output, .fr-range__min, .fr-range__max {\n text-align: center;\n min-width: var(--thumb-size);\n font-size: 0.75rem;\n line-height: 1.25rem;\n}\n.fr-range[data-fr-js-range] {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n}\n.fr-range[data-fr-js-range]::before, .fr-range[data-fr-js-range]::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 1.625rem;\n right: 0;\n left: 0;\n width: 100%;\n height: 0.75rem;\n border-radius: 0.375rem;\n}\n.fr-range[data-fr-js-range]::before {\n outline-offset: -1px;\n}\n.fr-range[data-fr-js-range]::after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n}\n.fr-range[data-fr-js-range] input[type=range] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n width: 100%;\n height: var(--thumb-size);\n z-index: 1;\n}\n.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: none;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] .fr-range__output {\n visibility: visible;\n}\n.fr-range--sm {\n --thumb-size: 1rem;\n}\n.fr-range--sm[data-fr-js-range]::before, .fr-range--sm[data-fr-js-range]::after {\n top: 1.5rem;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n.fr-range--step[data-fr-js-range] {\n --step-width: 0;\n}\n.fr-range--step[data-fr-js-range]::before, .fr-range--step[data-fr-js-range]::after {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: 0.625rem 0;\n background-clip: content-box;\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::before, .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n background-position: 0.375rem 0;\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n.fr-range--double .fr-range__output {\n min-width: calc(var(--thumb-size)* 2);\n}\n.fr-range--double[data-fr-js-range] input[type=range] {\n width: calc(100% - var(--thumb-size));\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) {\n margin-right: var(--thumb-size);\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) {\n position: absolute;\n right: 0;\n top: 1.25rem;\n}\n.fr-range--double.fr-range--step[data-fr-js-range]::before, .fr-range--double.fr-range--step[data-fr-js-range]::after {\n background-size: 0;\n}\n\n.fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range]::after {\n background-color: var(--background-active-blue-france);\n --idle: transparent;\n --hover: var(--background-active-blue-france-hover);\n --active: var(--background-active-blue-france-active);\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n\n.fr-range__output {\n color: var(--text-active-blue-france);\n}\n.fr-range__min, .fr-range__max {\n color: var(--text-mention-grey);\n}\n.fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px);\n}\n.fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px);\n box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france);\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france);\n}\n\n.fr-range-group--error::before {\n background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));\n}\n.fr-range-group--valid::before {\n background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-disabled-grey);\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: var(--background-disabled-grey);\n --idle: transparent;\n --hover: var(--background-disabled-grey-hover);\n --active: var(--background-disabled-grey-active);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px);\n}\n.fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: var(--text-disabled-grey);\n}","////\n/// Range Main\n/// @group range\n////\n\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n\n@use 'module/path';\n@use 'module/shame/media-query';\n\n@include path.to-dist(2);\n@include media-query.order;\n\n@import 'index';\n@import 'style/module';\n@import 'style/scheme';\n\n@include _range-scheme;\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/reset';\n@use 'module/spacing';\n@use 'module/selector';\n@use 'module/disabled';\n\n#{selector.ns-group(range)} {\n @include relative;\n\n &--valid,\n &--error {\n @include before('', block) {\n pointer-events: none;\n @include absolute(0, -3v, 0, -3v);\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: spacing.space(0.5v 100%);\n }\n }\n}\n\n#{selector.ns(range)} {\n --thumb-size: #{spacing.space(6v)};\n @include relative;\n @include display-flex(row, null, space-between, wrap);\n\n input[type=range] {\n outline: none;\n @include width(100%);\n }\n\n &__output {\n visibility: hidden;\n }\n\n &__output,\n &__min,\n &__max {\n text-align: center;\n @include min-width(var(--thumb-size));\n @include text-style(xs);\n }\n\n &#{selector.ns-attr(js-range)} {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n\n @include _pseudo (before after, '', block) {\n @include absolute(6.5v, 0, null, 0);\n @include size(100%, 3v);\n border-radius: spacing.space(1.5v);\n }\n\n @include before {\n outline-offset: -1px;\n }\n\n @include after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n }\n\n input[type=range] {\n @include reset.appearance(none);\n background-color: transparent;\n @include size(100%, var(--thumb-size));\n @include z-index(over);\n\n &:not(:only-of-type) {\n pointer-events: none;\n }\n\n @include selector.range-thumb {\n @include reset.appearance(none);\n @include size(var(--thumb-size), var(--thumb-size));\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n\n &:active {\n @include z-index(above);\n }\n }\n }\n\n #{selector.ns(range__output)} {\n visibility: visible;\n }\n }\n\n &--sm {\n --thumb-size: #{spacing.space(4v)};\n\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n @include top(6v);\n @include height(2v);\n border-radius: spacing.space(1v);\n }\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n --step-width: 0;\n @include _pseudo(before after) {\n @include padding-x(2.5v);\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: spacing.space(2.5v 0);\n background-clip: content-box;\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-position: spacing.space(1.5v 0);\n @include padding-x(1.5v);\n }\n }\n }\n\n &--double &__output {\n @include min-width(calc(var(--thumb-size) * 2));\n }\n\n &--double {\n &#{selector.ns-attr(js-range)} {\n input[type=range] {\n @include width(calc(100% - var(--thumb-size)));\n\n &:nth-of-type(1) {\n @include margin-right(var(--thumb-size));\n }\n\n &:nth-of-type(2) {\n @include absolute;\n @include right(0);\n @include top(5v);\n }\n }\n }\n }\n\n // step désactivé sur le curseur double\n &--double#{&}--step {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-size: 0;\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(5.5v);\n // background-position: spacing.space(5.5v 0);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(3.5v);\n // background-position: spacing.space(3.5v 0);\n // }\n // }\n // }\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/shadows';\n\n@mixin shadow($layer) {\n @if map.has-key(shadows.$values, $layer) {\n filter: drop-shadow(var(--#{$layer}-shadow));\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.main.min.css b/design_system_admin/dsfr/component/range/range.main.min.css new file mode 100644 index 0000000000000000000000000000000000000000..5147a3910a4f119ceef9bb60865265146a471747 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.main.min.css @@ -0,0 +1,7 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */.fr-range-group{position:relative}.fr-range-group--error:before,.fr-range-group--valid:before{background-position:0 0;background-repeat:no-repeat;background-size:.125rem 100%;bottom:0;content:"";display:block;left:-.75rem;pointer-events:none;position:absolute;right:-.75rem;top:0}.fr-range{--thumb-size:1.5rem;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;position:relative}.fr-range input[type=range]{outline:none;width:100%}.fr-range__output{color:var(--text-active-blue-france);visibility:hidden}.fr-range__max,.fr-range__min,.fr-range__output{font-size:.75rem;line-height:1.25rem;min-width:var(--thumb-size);text-align:center}.fr-range[data-fr-js-range]{--progress-left:0;--progress-right:calc(var(--thumb-size)*0.5)}.fr-range[data-fr-js-range]:after,.fr-range[data-fr-js-range]:before{border-radius:.375rem;content:"";display:block;height:.75rem;left:0;position:absolute;right:0;top:1.625rem;width:100%}.fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px var(--border-action-high-blue-france);outline-offset:-1px}.fr-range[data-fr-js-range]:after{--idle:transparent;--hover:var(--background-active-blue-france-hover);--active:var(--background-active-blue-france-active);background-color:var(--background-active-blue-france);clip-path:polygon(var(--progress-left) 0,var(--progress-right) 0,var(--progress-right) 100%,var(--progress-left) 100%)}.fr-range[data-fr-js-range] input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:var(--thumb-size);width:100%;z-index:1}.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type){pointer-events:none}.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb{--hover:var(--background-raised-grey-hover);--active:var(--background-raised-grey-active);--idle:transparent;--hover:var(--background-default-grey-hover);--active:var(--background-default-grey-active);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-raised-grey);background-color:var(--background-default-grey);border:none;border:1px solid var(--border-action-high-blue-france);border-radius:50%;filter:drop-shadow(var(--raised-shadow));height:var(--thumb-size);pointer-events:auto;width:var(--thumb-size);z-index:calc(var(--ground) + 500)}.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active{z-index:2}.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb{--hover:var(--background-raised-grey-hover);--active:var(--background-raised-grey-active);--idle:transparent;--hover:var(--background-default-grey-hover);--active:var(--background-default-grey-active);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-raised-grey);background-color:var(--background-default-grey);border:none;border:1px solid var(--border-action-high-blue-france);border-radius:50%;filter:drop-shadow(var(--raised-shadow));height:var(--thumb-size);pointer-events:auto;width:var(--thumb-size);z-index:calc(var(--ground) + 500)}.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active{z-index:2}.fr-range[data-fr-js-range] .fr-range__output{visibility:visible}.fr-range--sm{--thumb-size:1rem}.fr-range--sm[data-fr-js-range]:after,.fr-range--sm[data-fr-js-range]:before{border-radius:.25rem;height:.5rem;top:1.5rem}.fr-range--step[data-fr-js-range]{--step-width:0}.fr-range--step[data-fr-js-range]:after,.fr-range--step[data-fr-js-range]:before{background-clip:content-box;background-position:.625rem 0;background-repeat:repeat-x;background-size:var(--step-width) 100%;padding-left:.625rem;padding-right:.625rem}.fr-range--step.fr-range--sm[data-fr-js-range]:after,.fr-range--step.fr-range--sm[data-fr-js-range]:before{background-position:.375rem 0;padding-left:.375rem;padding-right:.375rem}.fr-range--double .fr-range__output{min-width:calc(var(--thumb-size)*2)}.fr-range--double[data-fr-js-range] input[type=range]{width:calc(100% - var(--thumb-size))}.fr-range--double[data-fr-js-range] input[type=range]:first-of-type{margin-right:var(--thumb-size)}.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2){position:absolute;right:0;top:1.25rem}.fr-range--double.fr-range--step[data-fr-js-range]:after,.fr-range--double.fr-range--step[data-fr-js-range]:before{background-size:0}.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb{border:1px solid var(--border-disabled-grey)}.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb{border:1px solid var(--border-disabled-grey)}.fr-range__max,.fr-range__min{color:var(--text-mention-grey)}.fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,var(--background-action-high-blue-france) 0,var(--background-action-high-blue-france) 1px,transparent 1px)}.fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,var(--background-action-low-blue-france) 0,var(--background-action-low-blue-france) 2px,transparent 2px);box-shadow:inset 10px 0 0 0 var(--border-active-blue-france),inset -10px 0 0 0 var(--border-active-blue-france)}.fr-range--step.fr-range--sm[data-fr-js-range]:after{box-shadow:inset 6px 0 0 0 var(--border-active-blue-france),inset -6px 0 0 0 var(--border-active-blue-france)}.fr-range-group--error:before{background-image:linear-gradient(0deg,var(--border-plain-error),var(--border-plain-error))}.fr-range-group--valid:before{background-image:linear-gradient(0deg,var(--border-plain-success),var(--border-plain-success))}.fr-range-group--disabled .fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px var(--border-disabled-grey)}.fr-range-group--disabled .fr-range[data-fr-js-range]:after{--idle:transparent;--hover:var(--background-disabled-grey-hover);--active:var(--background-disabled-grey-active);background-color:var(--background-disabled-grey)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,var(--background-disabled-grey) 0,var(--background-disabled-grey) 1px,transparent 1px)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,var(--background-default-grey) 0,var(--background-default-grey) 2px,transparent 2px)}.fr-range-group--disabled .fr-range__max,.fr-range-group--disabled .fr-range__min,.fr-range-group--disabled .fr-range__output{color:var(--text-disabled-grey)}@media (min-width:36em){ + /*! media sm */}@media (min-width:48em){ + /*! media md */}@media (min-width:62em){ + /*! media lg */}@media (min-width:78em){ + /*! media xl */} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.main.min.css.map b/design_system_admin/dsfr/component/range/range.main.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b902f3a494d5d08e0741a97cce4d5695cc128a2d --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.main.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","%3Cinput%20css%20NDmSHV%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_shadow.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA,ACUA,gBCFE,iBCUF,CCFE,4DHGI,uBAAA,CADA,2BAAA,CAEA,4BAAA,CCJF,QAAA,CEGE,UHJc,CGQd,aAAA,CFJF,YAAA,CDHE,mBAAA,CCRJ,iBAAA,CAKE,aAAA,CAHA,KCqBJ,CFNA,UACE,mBAAA,CIfE,YAAA,CAIA,kBAAA,CAYA,cAAA,CAJA,6BAAA,CHfF,iBCgCF,CFVE,4BACE,YAAA,CKrBE,UHkCN,CFTE,kBMME,oCAAA,CNLA,iBEWJ,CFRE,gDObA,gBAAA,CAGE,mBAAA,CFXE,2BAAA,CLwBF,iBEWJ,CFNE,4BACE,iBAAA,CACA,4CEQJ,CCzCE,qEHsCI,qBAAA,CGnCA,UHgC8B,CG5B9B,aAAA,CEsCA,aAAA,CJ1CF,MAAA,CAXF,iBAAA,CAKE,OAAA,CAHA,YAAA,CIgDE,UHUN,CCpDE,mCGyBE,gEAAA,CNiBE,mBEaN,CCvDE,kCGoCM,kBAAA,CAqCJ,kDAAA,CAAA,oDAAA,CAhDA,qDAAA,CNqBE,sHEYN,CFTI,8CQzDF,uBR0D8B,CQzD9B,oBRyD8B,CQxD9B,eRwD8B,CAC1B,4BAAA,CKNA,wBAAA,CAHA,UAAA,CI1CJ,SPmEF,CFZM,iEACE,mBEcR,CQpFI,oEJuFA,2CAAA,CAAA,6CAAA,CArCI,kBAAA,CAqCJ,4CAAA,CAAA,8CAAA,CEjFF,uBRoEgC,CQnEhC,oBRmEgC,CQlEhC,eRkEgC,CMnC9B,8CAAA,CAAA,+CAAA,CNsCI,WAAA,CMtCJ,sDAAA,CNqCI,iBAAA,CWzEJ,wCAAA,CNwDE,wBAAA,CLmBE,mBAAA,CKtBF,uBAAA,CO7CA,iCVmFN,CFdQ,2ESlEN,SPmFF,CQ7FI,gEJmFA,2CAAA,CAAA,6CAAA,CArCI,kBAAA,CAqCJ,4CAAA,CAAA,8CAAA,CEjFF,uBRoEgC,CQnEhC,oBRmEgC,CQlEhC,eRkEgC,CMnC9B,8CAAA,CAAA,+CAAA,CNsCI,WAAA,CMtCJ,sDAAA,CNqCI,iBAAA,CWzEJ,wCAAA,CNwDE,wBAAA,CLmBE,mBAAA,CKtBF,uBAAA,CO7CA,iCVgGN,CF3BQ,uESlEN,SPgGF,CFxBI,8CACE,kBE0BN,CFtBE,cACE,iBEwBJ,CCtGE,6EHoFM,oBAAA,CKlEF,YAAA,CJUJ,UC+EF,CFjBI,kCACE,cEmBN,CC9GE,iFHiGM,2BAAA,CADA,6BAAA,CAFA,0BAAA,CACA,sCAAA,Ca1FF,oBAHA,CAIA,qBXgHN,CCtHE,2GHyGM,6BAAA,CapGF,oBAHA,CAIA,qBXqHN,CFZE,oCK7GI,mCH4HN,CFTM,sDK3HA,oCHuIN,CFTQ,oEa3GF,8BXuHN,CFRQ,qECpIN,iBAAA,CAwCA,OAAA,CAJA,WC6GF,CCzIE,mHHyIM,iBEGR,CQ1JI,6EJuCA,4CJ0JJ,CQ7LI,yEJmCA,4CJ6JJ,CY9JI,8BRCA,8BJoKJ,CC7LE,yCGyBE,6JJuKJ,CChME,wCGyBE,2JAAA,CAAA,+GJ2KJ,CCpME,qDGyBE,6GJ8KJ,CCvME,8BGyBE,0FJkLJ,CC3ME,8BGyBE,8FJqLJ,CC9ME,6DGyBE,sDJwLJ,CCjNE,4DGoCM,kBAAA,CAqCJ,6CAAA,CAAA,+CAAA,CAhDA,gDJ8LJ,CCvNE,mEGyBE,yIJiMJ,CC1NE,kEGyBE,uIJoMJ,CYrHQ,8HR/EJ,+BJuMJ,CajOI;ECRI,cAAA,CdDR,CaSI;ECRI,cAAA,CdER,CaMI;ECRI,cAAA,CdKR,CaGI;ECRI,cAAA,CdQR","file":"range.main.min.css","sourcesContent":[null,"////\n/// Range Module\n/// @group range\n////\n\n@use 'module/reset';\n@use 'module/spacing';\n@use 'module/selector';\n@use 'module/disabled';\n\n#{selector.ns-group(range)} {\n @include relative;\n\n &--valid,\n &--error {\n @include before('', block) {\n pointer-events: none;\n @include absolute(0, -3v, 0, -3v);\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: spacing.space(0.5v 100%);\n }\n }\n}\n\n#{selector.ns(range)} {\n --thumb-size: #{spacing.space(6v)};\n @include relative;\n @include display-flex(row, null, space-between, wrap);\n\n input[type=range] {\n outline: none;\n @include width(100%);\n }\n\n &__output {\n visibility: hidden;\n }\n\n &__output,\n &__min,\n &__max {\n text-align: center;\n @include min-width(var(--thumb-size));\n @include text-style(xs);\n }\n\n &#{selector.ns-attr(js-range)} {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n\n @include _pseudo (before after, '', block) {\n @include absolute(6.5v, 0, null, 0);\n @include size(100%, 3v);\n border-radius: spacing.space(1.5v);\n }\n\n @include before {\n outline-offset: -1px;\n }\n\n @include after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n }\n\n input[type=range] {\n @include reset.appearance(none);\n background-color: transparent;\n @include size(100%, var(--thumb-size));\n @include z-index(over);\n\n &:not(:only-of-type) {\n pointer-events: none;\n }\n\n @include selector.range-thumb {\n @include reset.appearance(none);\n @include size(var(--thumb-size), var(--thumb-size));\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n\n &:active {\n @include z-index(above);\n }\n }\n }\n\n #{selector.ns(range__output)} {\n visibility: visible;\n }\n }\n\n &--sm {\n --thumb-size: #{spacing.space(4v)};\n\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n @include top(6v);\n @include height(2v);\n border-radius: spacing.space(1v);\n }\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n --step-width: 0;\n @include _pseudo(before after) {\n @include padding-x(2.5v);\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: spacing.space(2.5v 0);\n background-clip: content-box;\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-position: spacing.space(1.5v 0);\n @include padding-x(1.5v);\n }\n }\n }\n\n &--double &__output {\n @include min-width(calc(var(--thumb-size) * 2));\n }\n\n &--double {\n &#{selector.ns-attr(js-range)} {\n input[type=range] {\n @include width(calc(100% - var(--thumb-size)));\n\n &:nth-of-type(1) {\n @include margin-right(var(--thumb-size));\n }\n\n &:nth-of-type(2) {\n @include absolute;\n @include right(0);\n @include top(5v);\n }\n }\n }\n }\n\n // step désactivé sur le curseur double\n &--double#{&}--step {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-size: 0;\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(5.5v);\n // background-position: spacing.space(5.5v 0);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(3.5v);\n // background-position: spacing.space(3.5v 0);\n // }\n // }\n // }\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-range-group {\n position: relative;\n}\n.fr-range-group--valid::before, .fr-range-group--error::before {\n content: \"\";\n display: block;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: -0.75rem;\n bottom: 0;\n left: -0.75rem;\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: 0.125rem 100%;\n}\n\n.fr-range {\n --thumb-size: 1.5rem;\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.fr-range input[type=range] {\n outline: none;\n width: 100%;\n}\n.fr-range__output {\n visibility: hidden;\n}\n.fr-range__output, .fr-range__min, .fr-range__max {\n text-align: center;\n min-width: var(--thumb-size);\n font-size: 0.75rem;\n line-height: 1.25rem;\n}\n.fr-range[data-fr-js-range] {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n}\n.fr-range[data-fr-js-range]::before, .fr-range[data-fr-js-range]::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 1.625rem;\n right: 0;\n left: 0;\n width: 100%;\n height: 0.75rem;\n border-radius: 0.375rem;\n}\n.fr-range[data-fr-js-range]::before {\n outline-offset: -1px;\n}\n.fr-range[data-fr-js-range]::after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n}\n.fr-range[data-fr-js-range] input[type=range] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n width: 100%;\n height: var(--thumb-size);\n z-index: 1;\n}\n.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: none;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] .fr-range__output {\n visibility: visible;\n}\n.fr-range--sm {\n --thumb-size: 1rem;\n}\n.fr-range--sm[data-fr-js-range]::before, .fr-range--sm[data-fr-js-range]::after {\n top: 1.5rem;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n.fr-range--step[data-fr-js-range] {\n --step-width: 0;\n}\n.fr-range--step[data-fr-js-range]::before, .fr-range--step[data-fr-js-range]::after {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: 0.625rem 0;\n background-clip: content-box;\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::before, .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n background-position: 0.375rem 0;\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n.fr-range--double .fr-range__output {\n min-width: calc(var(--thumb-size)* 2);\n}\n.fr-range--double[data-fr-js-range] input[type=range] {\n width: calc(100% - var(--thumb-size));\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) {\n margin-right: var(--thumb-size);\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) {\n position: absolute;\n right: 0;\n top: 1.25rem;\n}\n.fr-range--double.fr-range--step[data-fr-js-range]::before, .fr-range--double.fr-range--step[data-fr-js-range]::after {\n background-size: 0;\n}\n\n.fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range]::after {\n background-color: var(--background-active-blue-france);\n --idle: transparent;\n --hover: var(--background-active-blue-france-hover);\n --active: var(--background-active-blue-france-active);\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n\n.fr-range__output {\n color: var(--text-active-blue-france);\n}\n.fr-range__min, .fr-range__max {\n color: var(--text-mention-grey);\n}\n.fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px);\n}\n.fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px);\n box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france);\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france);\n}\n\n.fr-range-group--error::before {\n background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));\n}\n.fr-range-group--valid::before {\n background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-disabled-grey);\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: var(--background-disabled-grey);\n --idle: transparent;\n --hover: var(--background-disabled-grey-hover);\n --active: var(--background-disabled-grey-active);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px);\n}\n.fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: var(--text-disabled-grey);\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/shadows';\n\n@mixin shadow($layer) {\n @if map.has-key(shadows.$values, $layer) {\n filter: drop-shadow(var(--#{$layer}-shadow));\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.min.css b/design_system_admin/dsfr/component/range/range.min.css new file mode 100644 index 0000000000000000000000000000000000000000..d6e235b0d8bc37bd6efdbb01065d3e79be262323 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.min.css @@ -0,0 +1,11 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */.fr-range-group{position:relative}.fr-range-group--error:before,.fr-range-group--valid:before{background-position:0 0;background-repeat:no-repeat;background-size:.125rem 100%;bottom:0;content:"";display:block;left:-.75rem;pointer-events:none;position:absolute;right:-.75rem;top:0}.fr-range{--thumb-size:1.5rem;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;position:relative}.fr-range input[type=range]{outline:none;width:100%}.fr-range__output{color:var(--text-active-blue-france);visibility:hidden}.fr-range__max,.fr-range__min,.fr-range__output{font-size:.75rem;line-height:1.25rem;min-width:var(--thumb-size);text-align:center}.fr-range[data-fr-js-range]{--progress-left:0;--progress-right:calc(var(--thumb-size)*0.5)}.fr-range[data-fr-js-range]:after,.fr-range[data-fr-js-range]:before{border-radius:.375rem;content:"";display:block;height:.75rem;left:0;position:absolute;right:0;top:1.625rem;width:100%}.fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px var(--border-action-high-blue-france);outline-offset:-1px}.fr-range[data-fr-js-range]:after{--idle:transparent;--hover:var(--background-active-blue-france-hover);--active:var(--background-active-blue-france-active);background-color:var(--background-active-blue-france);clip-path:polygon(var(--progress-left) 0,var(--progress-right) 0,var(--progress-right) 100%,var(--progress-left) 100%)}.fr-range[data-fr-js-range] input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:var(--thumb-size);width:100%;z-index:1}.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type){pointer-events:none}.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb{--hover:var(--background-raised-grey-hover);--active:var(--background-raised-grey-active);--idle:transparent;--hover:var(--background-default-grey-hover);--active:var(--background-default-grey-active);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-raised-grey);background-color:var(--background-default-grey);border:none;border:1px solid var(--border-action-high-blue-france);border-radius:50%;filter:drop-shadow(var(--raised-shadow));height:var(--thumb-size);pointer-events:auto;width:var(--thumb-size);z-index:calc(var(--ground) + 500)}.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active{z-index:2}.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb{--hover:var(--background-raised-grey-hover);--active:var(--background-raised-grey-active);--idle:transparent;--hover:var(--background-default-grey-hover);--active:var(--background-default-grey-active);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-raised-grey);background-color:var(--background-default-grey);border:none;border:1px solid var(--border-action-high-blue-france);border-radius:50%;filter:drop-shadow(var(--raised-shadow));height:var(--thumb-size);pointer-events:auto;width:var(--thumb-size);z-index:calc(var(--ground) + 500)}.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active{z-index:2}.fr-range[data-fr-js-range] .fr-range__output{visibility:visible}.fr-range--sm{--thumb-size:1rem}.fr-range--sm[data-fr-js-range]:after,.fr-range--sm[data-fr-js-range]:before{border-radius:.25rem;height:.5rem;top:1.5rem}.fr-range--step[data-fr-js-range]{--step-width:0}.fr-range--step[data-fr-js-range]:after,.fr-range--step[data-fr-js-range]:before{background-clip:content-box;background-position:.625rem 0;background-repeat:repeat-x;background-size:var(--step-width) 100%;padding-left:.625rem;padding-right:.625rem}.fr-range--step.fr-range--sm[data-fr-js-range]:after,.fr-range--step.fr-range--sm[data-fr-js-range]:before{background-position:.375rem 0;padding-left:.375rem;padding-right:.375rem}.fr-range--double .fr-range__output{min-width:calc(var(--thumb-size)*2)}.fr-range--double[data-fr-js-range] input[type=range]{width:calc(100% - var(--thumb-size))}.fr-range--double[data-fr-js-range] input[type=range]:first-of-type{margin-right:var(--thumb-size)}.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2){position:absolute;right:0;top:1.25rem}.fr-range--double.fr-range--step[data-fr-js-range]:after,.fr-range--double.fr-range--step[data-fr-js-range]:before{background-size:0}.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb{border:1px solid var(--border-disabled-grey)}.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb{border:1px solid var(--border-disabled-grey)}.fr-range__max,.fr-range__min{color:var(--text-mention-grey)}.fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,var(--background-action-high-blue-france) 0,var(--background-action-high-blue-france) 1px,transparent 1px)}.fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,var(--background-action-low-blue-france) 0,var(--background-action-low-blue-france) 2px,transparent 2px);box-shadow:inset 10px 0 0 0 var(--border-active-blue-france),inset -10px 0 0 0 var(--border-active-blue-france)}.fr-range--step.fr-range--sm[data-fr-js-range]:after{box-shadow:inset 6px 0 0 0 var(--border-active-blue-france),inset -6px 0 0 0 var(--border-active-blue-france)}.fr-range-group--error:before{background-image:linear-gradient(0deg,var(--border-plain-error),var(--border-plain-error))}.fr-range-group--valid:before{background-image:linear-gradient(0deg,var(--border-plain-success),var(--border-plain-success))}.fr-range-group--disabled .fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px var(--border-disabled-grey)}.fr-range-group--disabled .fr-range[data-fr-js-range]:after{--idle:transparent;--hover:var(--background-disabled-grey-hover);--active:var(--background-disabled-grey-active);background-color:var(--background-disabled-grey)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,var(--background-disabled-grey) 0,var(--background-disabled-grey) 1px,transparent 1px)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,var(--background-default-grey) 0,var(--background-default-grey) 2px,transparent 2px)}.fr-range-group--disabled .fr-range__max,.fr-range-group--disabled .fr-range__min,.fr-range-group--disabled .fr-range__output{color:var(--text-disabled-grey)}@media (min-width:36em){ + /*! media sm */ + /*! media sm */}@media (min-width:48em){ + /*! media md */ + /*! media md */}@media (min-width:62em){ + /*! media lg */ + /*! media lg */}@media (min-width:78em){ + /*! media xl */ + /*! media xl */}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.fr-range__max,.fr-range__min,.fr-range__output{min-width:1.5rem}.fr-range input[type=range]{padding:0}.fr-range[data-fr-js-range]{justify-content:flex-start}.fr-range[data-fr-js-range]:after{background-color:#000091;content:none}.fr-range[data-fr-js-range] .fr-range__max{margin-left:auto}.fr-range[data-fr-js-range] input[type=range]{margin-top:-.25rem}.fr-range[data-fr-js-range] input[type=range]::-ms-track{background:transparent;border-color:transparent;border-width:.625rem 0;color:transparent;height:.75rem}.fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower{border-radius:.375rem;height:.75rem}.fr-range[data-fr-js-range] input[type=range]::-ms-thumb{background-color:#fff;border:1px solid #000091;border-radius:50%;height:1.5rem;width:1.5rem;z-index:500}.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type){pointer-events:auto}.fr-range[data-fr-js-range].fr-range--double{background-position-y:1.625rem;background-repeat:no-repeat}.fr-range[data-fr-js-range].fr-range--double .fr-range__output{min-width:3rem}.fr-range[data-fr-js-range].fr-range--double input[type=range]{width:calc(100% - 1.5rem)}.fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower{background-color:transparent}.fr-range[data-fr-js-range].fr-range--double input[type=range]:first-of-type{margin-right:1.5rem;z-index:2}.fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2){left:1.5rem}.fr-range--sm[data-fr-js-range] .fr-range__max,.fr-range--sm[data-fr-js-range] .fr-range__min,.fr-range--sm[data-fr-js-range] .fr-range__output{min-width:1rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-track{border-width:.5rem 0;height:.5rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower{height:.5rem}.fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb{height:1rem;width:1rem}.fr-range--sm[data-fr-js-range].fr-range--double{background-position-y:1.5rem}.fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output{min-width:2rem}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]{width:calc(100% - 1rem)}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:first-of-type{margin-right:1rem}.fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2){left:1rem}.fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px #000091}.fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb{border:1px solid #e5e5e5}.fr-range__output{color:#000091}.fr-range__max,.fr-range__min{color:#666}.fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,#000091 0,#000091 1px,transparent 0)}.fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,#e3e3fd 0,#e3e3fd 2px,transparent 0);box-shadow:inset 10px 0 0 0 #000091,inset -10px 0 0 0 #000091}.fr-range--step.fr-range--sm[data-fr-js-range]:after{box-shadow:inset 6px 0 0 0 #000091,inset -6px 0 0 0 #000091}.fr-range-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-range-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-range-group--disabled .fr-range[data-fr-js-range]:before{box-shadow:inset 0 0 0 1px #e5e5e5}.fr-range-group--disabled .fr-range[data-fr-js-range]:after{background-color:#e5e5e5}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:before{background-image:radial-gradient(circle at 2px 50%,#e5e5e5 0,#e5e5e5 1px,transparent 0)}.fr-range-group--disabled .fr-range--step[data-fr-js-range]:after{background-image:radial-gradient(circle at 2px 50%,#fff 0,#fff 2px,transparent 0)}.fr-range-group--disabled .fr-range__max,.fr-range-group--disabled .fr-range__min,.fr-range-group--disabled .fr-range__output{color:#929292}}@media (-ms-high-contrast:active) and (-ms-high-contrast:active),(-ms-high-contrast:active) and (-ms-high-contrast:none),(-ms-high-contrast:none) and (-ms-high-contrast:active),(-ms-high-contrast:none) and (-ms-high-contrast:none){.fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower{background-color:#000091}.fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower{background-color:#e5e5e5}.fr-range[data-fr-js-range].fr-range--double{background-image:linear-gradient(90deg,#000091 0,#000091)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.min.css.map b/design_system_admin/dsfr/component/range/range.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..2c76e1d645568d85eedc62c10d9f327c2d599437 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","%3Cinput%20css%203uK6aS%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_range.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_shadow.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/range/style/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACUA,gBCFE,iBCUF,CCFE,4DHGI,uBAAA,CADA,2BAAA,CAEA,4BAAA,CCJF,QAAA,CEGE,UHJc,CGQd,aAAA,CFJF,YAAA,CDHE,mBAAA,CCRJ,iBAAA,CAKE,aAAA,CAHA,KCqBJ,CFNA,UACE,mBAAA,CIfE,YAAA,CAIA,kBAAA,CAYA,cAAA,CAJA,6BAAA,CHfF,iBCgCF,CFVE,4BACE,YAAA,CKrBE,UHkCN,CFTE,kBMME,oCAAA,CNLA,iBEWJ,CFRE,gDObA,gBAAA,CAGE,mBAAA,CFXE,2BAAA,CLwBF,iBEWJ,CFNE,4BACE,iBAAA,CACA,4CEQJ,CCzCE,qEHsCI,qBAAA,CGnCA,UHgC8B,CG5B9B,aAAA,CEsCA,aAAA,CJ1CF,MAAA,CAXF,iBAAA,CAKE,OAAA,CAHA,YAAA,CIgDE,UHUN,CCpDE,mCGyBE,gEAAA,CNiBE,mBEaN,CCvDE,kCGoCM,kBAAA,CAqCJ,kDAAA,CAAA,oDAAA,CAhDA,qDAAA,CNqBE,sHEYN,CFTI,8CQzDF,uBR0D8B,CQzD9B,oBRyD8B,CQxD9B,eRwD8B,CAC1B,4BAAA,CKNA,wBAAA,CAHA,UAAA,CI1CJ,SPmEF,CFZM,iEACE,mBEcR,CQpFI,oEJuFA,2CAAA,CAAA,6CAAA,CArCI,kBAAA,CAqCJ,4CAAA,CAAA,8CAAA,CEjFF,uBRoEgC,CQnEhC,oBRmEgC,CQlEhC,eRkEgC,CMnC9B,8CAAA,CAAA,+CAAA,CNsCI,WAAA,CMtCJ,sDAAA,CNqCI,iBAAA,CWzEJ,wCAAA,CNwDE,wBAAA,CLmBE,mBAAA,CKtBF,uBAAA,CO7CA,iCVmFN,CFdQ,2ESlEN,SPmFF,CQ7FI,gEJmFA,2CAAA,CAAA,6CAAA,CArCI,kBAAA,CAqCJ,4CAAA,CAAA,8CAAA,CEjFF,uBRoEgC,CQnEhC,oBRmEgC,CQlEhC,eRkEgC,CMnC9B,8CAAA,CAAA,+CAAA,CNsCI,WAAA,CMtCJ,sDAAA,CNqCI,iBAAA,CWzEJ,wCAAA,CNwDE,wBAAA,CLmBE,mBAAA,CKtBF,uBAAA,CO7CA,iCVgGN,CF3BQ,uESlEN,SPgGF,CFxBI,8CACE,kBE0BN,CFtBE,cACE,iBEwBJ,CCtGE,6EHoFM,oBAAA,CKlEF,YAAA,CJUJ,UC+EF,CFjBI,kCACE,cEmBN,CC9GE,iFHiGM,2BAAA,CADA,6BAAA,CAFA,0BAAA,CACA,sCAAA,Ca1FF,oBAHA,CAIA,qBXgHN,CCtHE,2GHyGM,6BAAA,CapGF,oBAHA,CAIA,qBXqHN,CFZE,oCK7GI,mCH4HN,CFTM,sDK3HA,oCHuIN,CFTQ,oEa3GF,8BXuHN,CFRQ,qECpIN,iBAAA,CAwCA,OAAA,CAJA,WC6GF,CCzIE,mHHyIM,iBEGR,CQ1JI,6EJuCA,4CJ0JJ,CQ7LI,yEJmCA,4CJ6JJ,CY9JI,8BRCA,8BJoKJ,CC7LE,yCGyBE,6JJuKJ,CChME,wCGyBE,2JAAA,CAAA,+GJ2KJ,CCpME,qDGyBE,6GJ8KJ,CCvME,8BGyBE,0FJkLJ,CC3ME,8BGyBE,8FJqLJ,CC9ME,6DGyBE,sDJwLJ,CCjNE,4DGoCM,kBAAA,CAqCJ,6CAAA,CAAA,+CAAA,CAhDA,gDJ8LJ,CCvNE,mEGyBE,yIJiMJ,CC1NE,kEGyBE,uIJoMJ,CYrHQ,8HR/EJ,+BJuMJ,CajOI;ECRI,cAAA;EAAA,cAAA,CdDR,CaSI;ECRI,cAAA;EAAA,cAAA,CdER,CaMI;ECRI,cAAA;EAAA,cAAA,CdKR,CaGI;ECRI,cAAA;EAAA,cAAA,CdQR,CeNI,2DCIA,gDbKE,gBH+OJ,CgB9OE,4BLcA,SXmOF,CgB7OE,4BAEE,0BhB8OJ,CCvPA,kCGyBE,wBAAA,CHtBE,YDuPJ,CgB/OI,2CLEA,gBXgPJ,CgB9OI,8CLFA,kBXmPJ,CQtOA,yDQNQ,sBAAA,CACA,wBAAA,CACA,sBAAA,CACA,iBAAA,CbLJ,aHqPJ,CQvOA,8DQHQ,qBAAA,CbXJ,aHyPJ,CQvPA,yDJKE,qBAAA,CAAA,wBAAA,CYSM,iBAAA,CbWJ,aAAA,CAHA,YAAA,COjDE,WV8RN,CgBlPM,iEACE,mBhBsPR,CgB5OI,6CAEE,8BAAA,CACA,2BhBoPN,CgBlPM,+DbnDF,cH+SJ,CgBxPM,+DACE,yBhB4PR,CQtRA,+EQ6BU,4BhB4PV,CgBzPQ,6ELnDJ,mBAXA,CJFJ,SP6TA,CgBxPQ,8EACE,WhB0PV,CgBjPQ,gJb7EJ,cHmUJ,CQ3SA,6DQ+DU,oBAAA,CbvEN,YHuTJ,CQzSA,kELdI,YH0TJ,CQxTA,6DLyBI,WAAA,CAHA,UHsSJ,CgB3OM,iDACE,4BhB6OR,CgB3OQ,mEbtGJ,cHoVJ,CgB1OQ,mEACE,uBhB4OV,CgB1OU,iFLlGN,iBX+UJ,CgBzOU,kFACE,ShB2OZ,CC/VA,mCGyBE,kCJ2UF,CQzWE,kEJ8BA,wBJyWF,CY9WE,kBRKA,aJ+WF,CYhXE,8BRCA,UJoXF,CC7YA,yCGyBE,uFJyXF,CClZA,wCGyBE,uFAAA,CAAA,6DJ8XF,CCvZA,qDGyBE,2DJwYF,CCjaA,8BGyBE,sDJ8YF,CCvaA,8BGyBE,sDJmZF,CC5aA,6DGyBE,kCJwZF,CCjbA,4DGyBE,wBJ6ZF,CCtbA,mEGyBE,uFJkaF,CC3bA,kEGyBE,iFJuaF,CYxVM,8HR/EJ,aJ4aF,CAzLF,CenRI,uOPuCF,8DJPE,wBJuPF,CQhPA,uEJPE,wBJwQF,CgBjPI,6CZvBF,yDJmRF,CA3BF","file":"range.min.css","sourcesContent":[null,"////\n/// Range Module\n/// @group range\n////\n\n@use 'module/reset';\n@use 'module/spacing';\n@use 'module/selector';\n@use 'module/disabled';\n\n#{selector.ns-group(range)} {\n @include relative;\n\n &--valid,\n &--error {\n @include before('', block) {\n pointer-events: none;\n @include absolute(0, -3v, 0, -3v);\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: spacing.space(0.5v 100%);\n }\n }\n}\n\n#{selector.ns(range)} {\n --thumb-size: #{spacing.space(6v)};\n @include relative;\n @include display-flex(row, null, space-between, wrap);\n\n input[type=range] {\n outline: none;\n @include width(100%);\n }\n\n &__output {\n visibility: hidden;\n }\n\n &__output,\n &__min,\n &__max {\n text-align: center;\n @include min-width(var(--thumb-size));\n @include text-style(xs);\n }\n\n &#{selector.ns-attr(js-range)} {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n\n @include _pseudo (before after, '', block) {\n @include absolute(6.5v, 0, null, 0);\n @include size(100%, 3v);\n border-radius: spacing.space(1.5v);\n }\n\n @include before {\n outline-offset: -1px;\n }\n\n @include after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n }\n\n input[type=range] {\n @include reset.appearance(none);\n background-color: transparent;\n @include size(100%, var(--thumb-size));\n @include z-index(over);\n\n &:not(:only-of-type) {\n pointer-events: none;\n }\n\n @include selector.range-thumb {\n @include reset.appearance(none);\n @include size(var(--thumb-size), var(--thumb-size));\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n\n &:active {\n @include z-index(above);\n }\n }\n }\n\n #{selector.ns(range__output)} {\n visibility: visible;\n }\n }\n\n &--sm {\n --thumb-size: #{spacing.space(4v)};\n\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n @include top(6v);\n @include height(2v);\n border-radius: spacing.space(1v);\n }\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n --step-width: 0;\n @include _pseudo(before after) {\n @include padding-x(2.5v);\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: spacing.space(2.5v 0);\n background-clip: content-box;\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-position: spacing.space(1.5v 0);\n @include padding-x(1.5v);\n }\n }\n }\n\n &--double &__output {\n @include min-width(calc(var(--thumb-size) * 2));\n }\n\n &--double {\n &#{selector.ns-attr(js-range)} {\n input[type=range] {\n @include width(calc(100% - var(--thumb-size)));\n\n &:nth-of-type(1) {\n @include margin-right(var(--thumb-size));\n }\n\n &:nth-of-type(2) {\n @include absolute;\n @include right(0);\n @include top(5v);\n }\n }\n }\n }\n\n // step désactivé sur le curseur double\n &--double#{&}--step {\n &#{selector.ns-attr(js-range)} {\n @include _pseudo(before after) {\n background-size: 0;\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(5.5v);\n // background-position: spacing.space(5.5v 0);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include _pseudo(before after) {\n // @include padding-x(3.5v);\n // background-position: spacing.space(3.5v 0);\n // }\n // }\n // }\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n RANGE\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-range-group {\n position: relative;\n}\n.fr-range-group--valid::before, .fr-range-group--error::before {\n content: \"\";\n display: block;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: -0.75rem;\n bottom: 0;\n left: -0.75rem;\n background-repeat: no-repeat;\n background-position: 0 0;\n background-size: 0.125rem 100%;\n}\n\n.fr-range {\n --thumb-size: 1.5rem;\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.fr-range input[type=range] {\n outline: none;\n width: 100%;\n}\n.fr-range__output {\n visibility: hidden;\n}\n.fr-range__output, .fr-range__min, .fr-range__max {\n text-align: center;\n min-width: var(--thumb-size);\n font-size: 0.75rem;\n line-height: 1.25rem;\n}\n.fr-range[data-fr-js-range] {\n --progress-left: 0;\n --progress-right: calc(var(--thumb-size) * 0.5);\n}\n.fr-range[data-fr-js-range]::before, .fr-range[data-fr-js-range]::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 1.625rem;\n right: 0;\n left: 0;\n width: 100%;\n height: 0.75rem;\n border-radius: 0.375rem;\n}\n.fr-range[data-fr-js-range]::before {\n outline-offset: -1px;\n}\n.fr-range[data-fr-js-range]::after {\n clip-path: polygon(var(--progress-left) 0, var(--progress-right) 0, var(--progress-right) 100%, var(--progress-left) 100%);\n}\n.fr-range[data-fr-js-range] input[type=range] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n width: 100%;\n height: var(--thumb-size);\n z-index: 1;\n}\n.fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: none;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n border: none;\n pointer-events: auto;\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb:active {\n z-index: 2;\n}\n.fr-range[data-fr-js-range] .fr-range__output {\n visibility: visible;\n}\n.fr-range--sm {\n --thumb-size: 1rem;\n}\n.fr-range--sm[data-fr-js-range]::before, .fr-range--sm[data-fr-js-range]::after {\n top: 1.5rem;\n height: 0.5rem;\n border-radius: 0.25rem;\n}\n.fr-range--step[data-fr-js-range] {\n --step-width: 0;\n}\n.fr-range--step[data-fr-js-range]::before, .fr-range--step[data-fr-js-range]::after {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n background-repeat: repeat-x;\n background-size: var(--step-width) 100%;\n background-position: 0.625rem 0;\n background-clip: content-box;\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::before, .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n background-position: 0.375rem 0;\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n.fr-range--double .fr-range__output {\n min-width: calc(var(--thumb-size)* 2);\n}\n.fr-range--double[data-fr-js-range] input[type=range] {\n width: calc(100% - var(--thumb-size));\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(1) {\n margin-right: var(--thumb-size);\n}\n.fr-range--double[data-fr-js-range] input[type=range]:nth-of-type(2) {\n position: absolute;\n right: 0;\n top: 1.25rem;\n}\n.fr-range--double.fr-range--step[data-fr-js-range]::before, .fr-range--double.fr-range--step[data-fr-js-range]::after {\n background-size: 0;\n}\n\n.fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range]::after {\n background-color: var(--background-active-blue-france);\n --idle: transparent;\n --hover: var(--background-active-blue-france-hover);\n --active: var(--background-active-blue-france-active);\n}\n.fr-range[data-fr-js-range] input[type=range]::-webkit-slider-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]::-moz-range-thumb {\n z-index: calc(var(--ground) + 500);\n background-color: var(--background-raised-grey);\n --idle: transparent;\n --hover: var(--background-raised-grey-hover);\n --active: var(--background-raised-grey-active);\n filter: drop-shadow(var(--raised-shadow));\n background-color: var(--background-default-grey);\n --idle: transparent;\n --hover: var(--background-default-grey-hover);\n --active: var(--background-default-grey-active);\n border: 1px solid var(--border-action-high-blue-france);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-webkit-slider-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n.fr-range[data-fr-js-range] input[type=range]:disabled::-moz-range-thumb {\n border: 1px solid var(--border-disabled-grey);\n}\n\n.fr-range__output {\n color: var(--text-active-blue-france);\n}\n.fr-range__min, .fr-range__max {\n color: var(--text-mention-grey);\n}\n.fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-high-blue-france) 0, var(--background-action-high-blue-france) 1px, transparent 1px);\n}\n.fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-action-low-blue-france) 0, var(--background-action-low-blue-france) 2px, transparent 2px);\n box-shadow: inset 10px 0 0 0 var(--border-active-blue-france), inset -10px 0 0 0 var(--border-active-blue-france);\n}\n.fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 var(--border-active-blue-france), inset -6px 0 0 0 var(--border-active-blue-france);\n}\n\n.fr-range-group--error::before {\n background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));\n}\n.fr-range-group--valid::before {\n background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px var(--border-disabled-grey);\n}\n.fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: var(--background-disabled-grey);\n --idle: transparent;\n --hover: var(--background-disabled-grey-hover);\n --active: var(--background-disabled-grey-active);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, var(--background-disabled-grey) 0, var(--background-disabled-grey) 1px, transparent 1px);\n}\n.fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, var(--background-default-grey) 0, var(--background-default-grey) 2px, transparent 2px);\n}\n.fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: var(--text-disabled-grey);\n}\n\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output, .fr-range__min, .fr-range__max {\n min-width: 1.5rem;\n }\n .fr-range input[type=range] {\n padding: 0;\n }\n .fr-range[data-fr-js-range] {\n justify-content: flex-start;\n }\n .fr-range[data-fr-js-range]::after {\n content: none;\n }\n .fr-range[data-fr-js-range] .fr-range__max {\n margin-left: auto;\n }\n .fr-range[data-fr-js-range] input[type=range] {\n margin-top: -0.25rem;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.75rem;\n background: transparent;\n border-color: transparent;\n border-width: 0.625rem 0;\n color: transparent;\n }\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.75rem;\n border-radius: 0.375rem;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-fill-lower {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 50%;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:not(:only-of-type) {\n pointer-events: auto;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-fill-lower {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-position-y: 1.625rem;\n background-repeat: no-repeat;\n }\n}\n@media all and (-ms-high-contrast: none) and (-ms-high-contrast: none), (-ms-high-contrast: none) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (-ms-high-contrast: none), (-ms-high-contrast: active) and (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double {\n background-image: linear-gradient(to right, #000091 0, #000091 100%);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 3rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1.5rem);\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]::-ms-fill-lower {\n background-color: transparent;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1.5rem;\n z-index: 2;\n }\n .fr-range[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1.5rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--sm[data-fr-js-range] .fr-range__output, .fr-range--sm[data-fr-js-range] .fr-range__min, .fr-range--sm[data-fr-js-range] .fr-range__max {\n min-width: 1rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-track {\n height: 0.5rem;\n border-width: 0.5rem 0;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-fill-lower {\n height: 0.5rem;\n }\n .fr-range--sm[data-fr-js-range] input[type=range]::-ms-thumb {\n width: 1rem;\n height: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double {\n background-position-y: 1.5rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double .fr-range__output {\n min-width: 2rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range] {\n width: calc(100% - 1rem);\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(1) {\n margin-right: 1rem;\n }\n .fr-range--sm[data-fr-js-range].fr-range--double input[type=range]:nth-of-type(2) {\n left: 1rem;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range]::after {\n background-color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n z-index: 500;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n background-color: #fff;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]::-ms-thumb {\n border: 1px solid #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range[data-fr-js-range] input[type=range]:disabled::-ms-thumb {\n border: 1px solid #e5e5e5;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__output {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range__min, .fr-range__max {\n color: #666;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #000091 0, #000091 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #e3e3fd 0, #e3e3fd 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step[data-fr-js-range]::after {\n box-shadow: inset 10px 0 0 0 #000091, inset -10px 0 0 0 #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range--step.fr-range--sm[data-fr-js-range]::after {\n box-shadow: inset 6px 0 0 0 #000091, inset -6px 0 0 0 #000091;\n }\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::before {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range[data-fr-js-range]::after {\n background-color: #e5e5e5;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::before {\n background-image: radial-gradient(circle at 2px 50%, #e5e5e5 0, #e5e5e5 1px, transparent 1px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range--step[data-fr-js-range]::after {\n background-image: radial-gradient(circle at 2px 50%, #fff 0, #fff 2px, transparent 2px);\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-range-group--disabled .fr-range__output, .fr-range-group--disabled .fr-range__min, .fr-range-group--disabled .fr-range__max {\n color: #929292;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","////\n/// Core Tool : Spacing z-index\n/// @group core\n////\n\n/// Fonction de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@function z-index($index-name) {\n @return map-get($z-indexes, $index-name);\n}\n\n/// Mixin de gestion des z-index\n/// @access public\n/// @param {String} $index-name - nom du calque de z-index\n@mixin z-index($index-name) {\n z-index: z-index($index-name);\n}\n","@mixin range-thumb($legacy: false) {\n @if not $legacy {\n &::-webkit-slider-thumb {\n @content;\n }\n\n &::-moz-range-thumb {\n @content;\n }\n }\n @else {\n &::-ms-thumb {\n @content;\n }\n }\n}\n\n@mixin range-track {\n &::-webkit-slider-runnable-track {\n @content;\n }\n}\n\n@mixin range-moz-track {\n &::-moz-range-track {\n @content;\n }\n}\n\n@mixin range-moz-progress {\n &::-moz-range-progress {\n @content;\n }\n}\n\n@mixin range-ms-thumb {\n &::-ms-thumb {\n @content;\n }\n}\n\n@mixin range-ms-track {\n &::-ms-track {\n @content;\n }\n}\n\n@mixin range-ms-fill-lower {\n &::-ms-fill-lower {\n @content;\n }\n}\n\n@mixin range-ms-fill-upper {\n &::-ms-fill-upper {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/shadows';\n\n@mixin shadow($layer) {\n @if map.has-key(shadows.$values, $layer) {\n filter: drop-shadow(var(--#{$layer}-shadow));\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Range Module\n/// @group range\n////\n\n@use 'module/color';\n@use 'module/selector';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _range-scheme($legacy: false) {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), );\n }\n\n @include after {\n @include color.background(active blue-france, (legacy:$legacy));\n }\n\n input[type=range] {\n @include selector.range-thumb($legacy) {\n @include elevation.elevate(raised, (legacy: $legacy));\n @include color.background(default grey, (legacy:$legacy));\n @include color.border(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n @include selector.range-thumb($legacy) {\n @include color.border(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n\n &__output {\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n &__min,\n &__max {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(action-high blue-france, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(action-low blue-france, (legacy:$legacy), $range-progress-gradient);\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-10-in right-10-in);\n }\n }\n }\n\n &--step#{&}--sm {\n &#{selector.ns-attr(js-range)} {\n @include after {\n @include color.box-shadow(active blue-france, (legacy:$legacy), left-6-in right-6-in);\n }\n }\n }\n\n // &--double#{&}--step {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-22-in right-22-in);\n // }\n // }\n // }\n\n // &--double#{&}--step#{&}--sm {\n // &#{selector.ns-attr(js-range)} {\n // @include after {\n // @include color.box-shadow(active blue-france, (legacy:$legacy), left-14-in right-14-in);\n // }\n // }\n // }\n }\n\n #{selector.ns-group(range)} {\n &--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &--disabled {\n #{selector.ns(range)} {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.box-shadow(disabled grey, (legacy:$legacy));\n }\n\n @include after {\n @include color.background(disabled grey, (legacy:$legacy));\n }\n }\n\n &--step {\n &#{selector.ns-attr(js-range)} {\n @include before {\n @include color.background-image(disabled grey, (legacy:$legacy), $range-track-gradient);\n }\n\n @include after {\n @include color.background-image(default grey, (legacy:$legacy), $range-progress-gradient);\n }\n }\n }\n\n &__output,\n &__min,\n &__max {\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Input Legacy\n/// @group input\n////\n\n@use 'module/legacy';\n@use 'module/selector';\n@use 'module/disabled';\n@use 'module/color';\n@use 'module/spacing';\n\n@include legacy.is(ie11) {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(6v);\n }\n\n input[type=range] {\n @include padding(0);\n }\n\n &#{selector.ns-attr(js-range)} {\n @include after(none);\n justify-content: flex-start;\n\n #{selector.ns(range__max)} {\n @include margin-left(auto);\n }\n\n input[type=range] {\n @include margin-top(-1v);\n\n @include selector.range-ms-track {\n @include height(3v);\n background: transparent;\n border-color: transparent;\n border-width: #{spacing.space(2.5v)} 0;\n color: transparent;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(3v);\n @include color.background(active blue-france, (legacy: true));\n border-radius: spacing.space(1.5v);\n }\n\n @include selector.range-ms-thumb {\n @include size(6v, 6v);\n border-radius: 50%;\n }\n\n &:not(:only-of-type) {\n pointer-events: auto;\n }\n\n @include disabled.selector {\n @include selector.range-ms-fill-lower {\n @include color.background(disabled grey, (legacy: true));\n }\n }\n }\n\n &#{selector.ns(range)}--double {\n @include color.background-image(active blue-france, (legacy: true), 'linear-gradient(to right, $COLOR 0, $COLOR 100%)');\n background-position-y: spacing.space(6.5v);\n background-repeat: no-repeat;\n\n #{selector.ns(range__output)} {\n @include min-width(12v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(6v)});\n\n @include selector.range-ms-fill-lower {\n background-color: transparent;\n }\n\n &:nth-of-type(1) {\n @include margin-right(6v);\n @include z-index(above);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(6v)};\n }\n }\n }\n }\n\n &--sm {\n &#{selector.ns-attr(js-range)} {\n #{selector.ns(range)} {\n &__output,\n &__min,\n &__max {\n @include min-width(4v);\n }\n }\n\n input[type=range] {\n @include selector.range-ms-track {\n @include height(2v);\n border-width: #{spacing.space(2v)} 0;\n }\n\n @include selector.range-ms-fill-lower {\n @include height(2v);\n }\n\n @include selector.range-ms-thumb {\n @include size(4v, 4v);\n }\n }\n\n &#{selector.ns(range)}--double {\n background-position-y: spacing.space(6v);\n\n #{selector.ns(range__output)} {\n @include min-width(8v);\n }\n\n input[type=range] {\n width: calc(100% - #{spacing.space(4v)});\n\n &:nth-of-type(1) {\n @include margin-right(4v);\n }\n\n &:nth-of-type(2) {\n left: #{spacing.space(4v)};\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.module.js b/design_system_admin/dsfr/component/range/range.module.js new file mode 100644 index 0000000000000000000000000000000000000000..2b6953a1110c23d4240849b990b829e9286472af --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.module.js @@ -0,0 +1,587 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ + +const config = { + prefix: 'fr', + namespace: 'dsfr', + organisation: '@gouvfr', + version: '1.11.0' +}; + +const api = window[config.namespace]; + +const RangeSelector = { + RANGE: api.internals.ns.selector('range'), + RANGE_SM: api.internals.ns.selector('range--sm'), + RANGE_STEP: api.internals.ns.selector('range--step'), + RANGE_DOUBLE: api.internals.ns.selector('range--double'), + RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'), + RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'), + RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`, + RANGE_OUTPUT: api.internals.ns.selector('range__output'), + RANGE_MIN: api.internals.ns.selector('range__min'), + RANGE_MAX: api.internals.ns.selector('range__max'), + RANGE_PREFIX: api.internals.ns.attr('prefix'), + RANGE_SUFFIX: api.internals.ns.attr('suffix') +}; + +const RangeEmission = { + VALUE: api.internals.ns.emission('range', 'value'), + VALUE2: api.internals.ns.emission('range', 'value2'), + OUTPUT: api.internals.ns.emission('range', 'output'), + CONSTRAINTS: api.internals.ns.emission('range', 'constraints'), + MIN: api.internals.ns.emission('range', 'min'), + MAX: api.internals.ns.emission('range', 'max'), + STEP: api.internals.ns.emission('range', 'step'), + PREFIX: api.internals.ns.emission('range', 'prefix'), + SUFFIX: api.internals.ns.emission('range', 'suffix'), + DISABLED: api.internals.ns.emission('range', 'disabled'), + ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer') +}; + +class RangeModel { + constructor () { + this._width = 0; + this._min = 0; + this._max = 0; + this._value = 0; + this._thumbSize = 24; + this._innerWidth = 0; + this._prefix = ''; + this._suffix = ''; + this._background = {}; + } + + configure (model) { + if (!model) return; + this._prefix = model._prefix; + this._suffix = model._suffix; + this._width = model.width; + this.setConstraints(model._constraints); + this.value = model.value; + this.update(); + } + + setPrefix (value) { + this._prefix = value !== null ? value : ''; + } + + setSuffix (value) { + this._suffix = value !== null ? value : ''; + } + + _decorate (value) { + return `${this._prefix}${value}${this._suffix}`; + } + + get width () { + return this._width; + } + + set width (value) { + this._width = value; + } + + get isSm () { + return this._isSm; + } + + set isSm (value) { + if (this._isSm === value) return; + this._isSm = value; + this.setThumbSize(value ? 16 : 24); + this.update(); + } + + setThumbSize (value, mult = 1) { + this._thumbSize = value; + this._innerPadding = value * mult; + } + + get textValue () { + return this._decorate(this._value); + } + + get value () { + return this._value; + } + + set value (value) { + this._value = value; + } + + get outputX () { + return this._outputX; + } + + setConstraints (constraints) { + this._constraints = constraints; + this._min = constraints.min; + this._max = constraints.max; + this._step = constraints.step; + this._rangeWidth = constraints.rangeWidth; + } + + get min () { + return this._min; + } + + get textMin () { + return this._decorate(this._min); + } + + get max () { + return this._max; + } + + get textMax () { + return this._decorate(this._max); + } + + get step () { + return this._step; + } + + get output () { + return { + text: this.textValue, + transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)` + }; + } + + _getRatio (value) { + return (value - this._min) / this._rangeWidth; + } + + get progress () { + return this._progress; + } + + update () { + this._update(); + } + + _update () { + this._innerWidth = this._width - this._innerPadding; + const ratio = this._getRatio(this._value); + this._translateX = ratio * this._width; + this._centerPercent = ratio * 100; + this._progress = { + right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px` + }; + } +} + +class RangeModelStep extends RangeModel { + get stepWidth () { + return `${this._stepWidth.toFixed(3)}px`; + } + + _update () { + super._update(); + const steps = this._rangeWidth / this._step; + this._stepWidth = this._innerWidth / steps; + while (this._stepWidth < 4) this._stepWidth *= 2; + } +} + +class RangeModelDouble extends RangeModel { + get value2 () { + return this._value; + } + + set value2 (value) { + if (this._value2 === value) return; + this._value2 = value; + this.update(); + } + + get textValue () { + return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`; + } + + setThumbSize (value) { + super.setThumbSize(value, 2); + } + + _update () { + super._update(); + const ratio = this._getRatio((this._value + this._value2) * 0.5); + this._translateX = ratio * this._width; + this._centerPercent = ratio * 100; + const ratio1 = this._getRatio(this._value); + const ratio2 = this._getRatio(this._value2); + this._progress = { + left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`, + right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px` + }; + } +} + +class RangeModelDoubleStep extends RangeModelDouble { + get stepWidth () { + return `${this._stepWidth.toFixed(3)}px`; + } + + _update () { + super._update(); + const steps = this._rangeWidth / this._step; + this._stepWidth = this._innerWidth / steps; + if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth); + } +} + +const RangeTypes = { + STEP: 'step', + DOUBLE: 'double', + DOUBLE_STEP: 'double-step', + DEFAULT: 'default' +}; + +class Range extends api.core.Instance { + static get instanceClassName () { + return 'Range'; + } + + init () { + this._retrieveType(); + this._retrieveSize(); + if (this.isLegacy) { + this.isResizing = true; + this.isMouseMoving = true; + } else { + this._observer = new ResizeObserver(this.resize.bind(this)); + this._observer.observe(this.node); + } + + this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this)); + this.addAscent(RangeEmission.VALUE, this.setValue.bind(this)); + this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this)); + if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX)); + if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX)); + this.update(); + } + + _retrieveType () { + switch (true) { + case this.matches(RangeSelector.RANGE_DOUBLE_STEP): + this.type = RangeTypes.DOUBLE; + break; + + case this.matches(RangeSelector.RANGE_DOUBLE): + this.type = RangeTypes.DOUBLE; + break; + + case this.matches(RangeSelector.RANGE_STEP): + this.type = RangeTypes.STEP; + break; + + default: + this.type = RangeTypes.DEFAULT; + } + } + + set type (value) { + if (this._type === value) return; + this._type = value; + + const oldModel = this._model; + + switch (this._type) { + case RangeTypes.DOUBLE_STEP: + this._model = new RangeModelDoubleStep(); + break; + + case RangeTypes.DOUBLE: + this._model = new RangeModelDouble(); + break; + + case RangeTypes.STEP: + this._model = new RangeModelStep(); + break; + + default: + this._model = new RangeModel(); + } + + this._model.configure(oldModel); + } + + get type () { + return this._type; + } + + _retrieveSize () { + this._model.isSm = this.matches(RangeSelector.RANGE_SM); + } + + resize () { + this._retrieveWidth(); + this.update(); + } + + _retrieveWidth () { + this._model.width = this.getRect().width; + } + + setValue (value) { + this._model.value = value; + switch (this._type) { + case RangeTypes.DOUBLE_STEP: + case RangeTypes.DOUBLE: + this.descend(RangeEmission.VALUE, value); + break; + } + this.update(); + } + + setValue2 (value) { + this._model.value2 = value; + this.descend(RangeEmission.VALUE2, value); + this.update(); + } + + setConstraints (constraints) { + this._model.setConstraints(constraints); + this.update(); + this.descend(RangeEmission.CONSTRAINTS, constraints); + } + + setPrefix (value) { + this._model.setPrefix(value); + this.update(); + } + + setSuffix (value) { + this._model.setSuffix(value); + this.update(); + } + + mutate (attributesNames) { + switch (true) { + case attributesNames.includes('class'): + this._retrieveType(); + this._retrieveSize(); + break; + + case attributesNames.includes(RangeSelector.RANGE_PREFIX): + case attributesNames.includes(RangeSelector.RANGE_SUFFIX): + this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX)); + this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX)); + this.update(); + break; + } + } + + update () { + this._model.update(); + this.descend(RangeEmission.OUTPUT, this._model.output); + this.descend(RangeEmission.MIN, this._model.textMin); + this.descend(RangeEmission.MAX, this._model.textMax); + const progress = this._model.progress; + if (progress.left) { + this.style.setProperty('--progress-left', progress.left); + } else { + this.style.removeProperty('--progress-left'); + } + if (progress.right) { + this.style.setProperty('--progress-right', progress.right); + if (this.isLegacy) { + if (progress.left) { + this.style.setProperty('background-position-x', progress.left); + this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`); + } + } + } else { + this.style.removeProperty('--progress-right'); + if (this.isLegacy) { + this.style.removeProperty('background-size'); + this.style.removeProperty('background-position-x'); + } + } + if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth); + else this.style.removeProperty('--step-width'); + } + + mouseMove (point) { + if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return; + const x = point.x - this.getRect().left; + this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1); + } + + dispose () { + this._observer.disconnect(); + } +} + +class RangeConstraints { + constructor (node) { + this._min = isNaN(node.min) ? 0 : node.min; + this._max = isNaN(node.max) ? 100 : node.max; + this._step = isNaN(node.step) ? 1 : node.step; + this._rangeWidth = this._max - this._min; + } + + get min () { + return this._min; + } + + get max () { + return this._max; + } + + get step () { + return this._step; + } + + get rangeWidth () { + return this._rangeWidth; + } + + test (min, max, step) { + return this._min === min && this._max === max && this._step === step; + } +} + +class RangeInput extends api.core.Instance { + static get instanceClassName () { + return 'RangeInput'; + } + + init () { + this._init(); + this.node.value = this.getAttribute('value'); + this.changing = this.change.bind(this); + this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing); + if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this)); + this.change(); + } + + _init () { + this._pointerId = 1; + this.request(() => { + if (!this.hasAttribute('min')) this.setAttribute('min', 0); + this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node)); + this.ascend(RangeEmission.DISABLED, this.node.disabled); + }); + + this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this)); + } + + _enablePointer (pointerId) { + const isEnabled = pointerId === this._pointerId; + if (this._isPointerEnabled === isEnabled) return; + this._isPointerEnabled = isEnabled; + if (isEnabled) this.style.removeProperty('pointer-events'); + else this.style.setProperty('pointer-events', 'none'); + } + + setValue (value) { + if (parseFloat(this.node.value) > value) { + this.node.value = value; + this.change(); + } + } + + change () { + this.ascend(RangeEmission.VALUE, parseFloat(this.node.value)); + } + + mutate (attributesNames) { + if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled); + if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) { + this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node)); + this.change(); + } + } + + dispose () { + this.removeEventListener('input', this.changing); + } +} + +class RangeInput2 extends RangeInput { + static get instanceClassName () { + return 'RangeInput2'; + } + + _init () { + this._pointerId = 2; + this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this)); + this.addDescent(RangeEmission.VALUE, this.setValue.bind(this)); + } + + setValue (value) { + if (parseFloat(this.node.value) < value) { + this.node.value = value; + this.change(); + } + } + + change () { + this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value)); + } + + setConstraints (constraints) { + this.node.min = constraints.min; + this.node.max = constraints.max; + this.node.step = constraints.step; + this.change(); + } + + mutate (attributesNames) {} +} + +class RangeOutput extends api.core.Instance { + static get instanceClassName () { + return 'RangeOutput'; + } + + init () { + this.addDescent(RangeEmission.OUTPUT, this.change.bind(this)); + } + + change (data) { + this.node.innerText = data.text; + this.node.style.transform = data.transform; + } +} + +class RangeLimit extends api.core.Instance { + static get instanceClassName () { + return 'RangeLimit'; + } + + init () { + switch (true) { + case this.matches(RangeSelector.RANGE_MIN): + this.addDescent(RangeEmission.MIN, this.change.bind(this)); + break; + + case this.matches(RangeSelector.RANGE_MAX): + this.addDescent(RangeEmission.MAX, this.change.bind(this)); + break; + } + } + + change (text) { + this.node.innerText = text; + } +} + +api.range = { + Range: Range, + RangeInput: RangeInput, + RangeInput2: RangeInput2, + RangeOutput: RangeOutput, + RangeLimit: RangeLimit, + RangeEmission: RangeEmission, + RangeSelector: RangeSelector +}; + +api.internals.register(api.range.RangeSelector.RANGE, api.range.Range); +api.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput); +api.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2); +api.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput); +api.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit); +api.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit); +//# sourceMappingURL=range.module.js.map diff --git a/design_system_admin/dsfr/component/range/range.module.js.map b/design_system_admin/dsfr/component/range/range.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d204df21f1f8efcf3219e702984e50a1ffce90f6 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.module.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/range/script/range/range-selector.js","../../../src/component/range/script/range/range-emission.js","../../../src/component/range/script/range/range-model.js","../../../src/component/range/script/range/range.js","../../../src/component/range/script/range/range-constraints.js","../../../src/component/range/script/range/range-input.js","../../../src/component/range/script/range/range-input2.js","../../../src/component/range/script/range/range-output.js","../../../src/component/range/script/range/range-limit.js","../../../src/component/range/index.js","../../../src/component/range/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const RangeSelector = {\n RANGE: api.internals.ns.selector('range'),\n RANGE_SM: api.internals.ns.selector('range--sm'),\n RANGE_STEP: api.internals.ns.selector('range--step'),\n RANGE_DOUBLE: api.internals.ns.selector('range--double'),\n RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'),\n RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'),\n RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`,\n RANGE_OUTPUT: api.internals.ns.selector('range__output'),\n RANGE_MIN: api.internals.ns.selector('range__min'),\n RANGE_MAX: api.internals.ns.selector('range__max'),\n RANGE_PREFIX: api.internals.ns.attr('prefix'),\n RANGE_SUFFIX: api.internals.ns.attr('suffix')\n};\n","import api from '../../api.js';\n\nexport const RangeEmission = {\n VALUE: api.internals.ns.emission('range', 'value'),\n VALUE2: api.internals.ns.emission('range', 'value2'),\n OUTPUT: api.internals.ns.emission('range', 'output'),\n CONSTRAINTS: api.internals.ns.emission('range', 'constraints'),\n MIN: api.internals.ns.emission('range', 'min'),\n MAX: api.internals.ns.emission('range', 'max'),\n STEP: api.internals.ns.emission('range', 'step'),\n PREFIX: api.internals.ns.emission('range', 'prefix'),\n SUFFIX: api.internals.ns.emission('range', 'suffix'),\n DISABLED: api.internals.ns.emission('range', 'disabled'),\n ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer')\n};\n","class RangeModel {\n constructor () {\n this._width = 0;\n this._min = 0;\n this._max = 0;\n this._value = 0;\n this._thumbSize = 24;\n this._innerWidth = 0;\n this._prefix = '';\n this._suffix = '';\n this._background = {};\n }\n\n configure (model) {\n if (!model) return;\n this._prefix = model._prefix;\n this._suffix = model._suffix;\n this._width = model.width;\n this.setConstraints(model._constraints);\n this.value = model.value;\n this.update();\n }\n\n setPrefix (value) {\n this._prefix = value !== null ? value : '';\n }\n\n setSuffix (value) {\n this._suffix = value !== null ? value : '';\n }\n\n _decorate (value) {\n return `${this._prefix}${value}${this._suffix}`;\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get isSm () {\n return this._isSm;\n }\n\n set isSm (value) {\n if (this._isSm === value) return;\n this._isSm = value;\n this.setThumbSize(value ? 16 : 24);\n this.update();\n }\n\n setThumbSize (value, mult = 1) {\n this._thumbSize = value;\n this._innerPadding = value * mult;\n }\n\n get textValue () {\n return this._decorate(this._value);\n }\n\n get value () {\n return this._value;\n }\n\n set value (value) {\n this._value = value;\n }\n\n get outputX () {\n return this._outputX;\n }\n\n setConstraints (constraints) {\n this._constraints = constraints;\n this._min = constraints.min;\n this._max = constraints.max;\n this._step = constraints.step;\n this._rangeWidth = constraints.rangeWidth;\n }\n\n get min () {\n return this._min;\n }\n\n get textMin () {\n return this._decorate(this._min);\n }\n\n get max () {\n return this._max;\n }\n\n get textMax () {\n return this._decorate(this._max);\n }\n\n get step () {\n return this._step;\n }\n\n get output () {\n return {\n text: this.textValue,\n transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`\n };\n }\n\n _getRatio (value) {\n return (value - this._min) / this._rangeWidth;\n }\n\n get progress () {\n return this._progress;\n }\n\n update () {\n this._update();\n }\n\n _update () {\n this._innerWidth = this._width - this._innerPadding;\n const ratio = this._getRatio(this._value);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n this._progress = {\n right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelStep extends RangeModel {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n while (this._stepWidth < 4) this._stepWidth *= 2;\n }\n}\n\nclass RangeModelDouble extends RangeModel {\n get value2 () {\n return this._value;\n }\n\n set value2 (value) {\n if (this._value2 === value) return;\n this._value2 = value;\n this.update();\n }\n\n get textValue () {\n return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;\n }\n\n setThumbSize (value) {\n super.setThumbSize(value, 2);\n }\n\n _update () {\n super._update();\n const ratio = this._getRatio((this._value + this._value2) * 0.5);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n const ratio1 = this._getRatio(this._value);\n const ratio2 = this._getRatio(this._value2);\n this._progress = {\n left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`,\n right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelDoubleStep extends RangeModelDouble {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth);\n }\n}\n\nexport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\nimport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep } from './range-model';\n\nconst RangeTypes = {\n STEP: 'step',\n DOUBLE: 'double',\n DOUBLE_STEP: 'double-step',\n DEFAULT: 'default'\n};\n\nclass Range extends api.core.Instance {\n static get instanceClassName () {\n return 'Range';\n }\n\n init () {\n this._retrieveType();\n this._retrieveSize();\n if (this.isLegacy) {\n this.isResizing = true;\n this.isMouseMoving = true;\n } else {\n this._observer = new ResizeObserver(this.resize.bind(this));\n this._observer.observe(this.node);\n }\n\n this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addAscent(RangeEmission.VALUE, this.setValue.bind(this));\n this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this));\n if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n }\n\n _retrieveType () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_DOUBLE_STEP):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_DOUBLE):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_STEP):\n this.type = RangeTypes.STEP;\n break;\n\n default:\n this.type = RangeTypes.DEFAULT;\n }\n }\n\n set type (value) {\n if (this._type === value) return;\n this._type = value;\n\n const oldModel = this._model;\n\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n this._model = new RangeModelDoubleStep();\n break;\n\n case RangeTypes.DOUBLE:\n this._model = new RangeModelDouble();\n break;\n\n case RangeTypes.STEP:\n this._model = new RangeModelStep();\n break;\n\n default:\n this._model = new RangeModel();\n }\n\n this._model.configure(oldModel);\n }\n\n get type () {\n return this._type;\n }\n\n _retrieveSize () {\n this._model.isSm = this.matches(RangeSelector.RANGE_SM);\n }\n\n resize () {\n this._retrieveWidth();\n this.update();\n }\n\n _retrieveWidth () {\n this._model.width = this.getRect().width;\n }\n\n setValue (value) {\n this._model.value = value;\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n case RangeTypes.DOUBLE:\n this.descend(RangeEmission.VALUE, value);\n break;\n }\n this.update();\n }\n\n setValue2 (value) {\n this._model.value2 = value;\n this.descend(RangeEmission.VALUE2, value);\n this.update();\n }\n\n setConstraints (constraints) {\n this._model.setConstraints(constraints);\n this.update();\n this.descend(RangeEmission.CONSTRAINTS, constraints);\n }\n\n setPrefix (value) {\n this._model.setPrefix(value);\n this.update();\n }\n\n setSuffix (value) {\n this._model.setSuffix(value);\n this.update();\n }\n\n mutate (attributesNames) {\n switch (true) {\n case attributesNames.includes('class'):\n this._retrieveType();\n this._retrieveSize();\n break;\n\n case attributesNames.includes(RangeSelector.RANGE_PREFIX):\n case attributesNames.includes(RangeSelector.RANGE_SUFFIX):\n this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n break;\n }\n }\n\n update () {\n this._model.update();\n this.descend(RangeEmission.OUTPUT, this._model.output);\n this.descend(RangeEmission.MIN, this._model.textMin);\n this.descend(RangeEmission.MAX, this._model.textMax);\n const progress = this._model.progress;\n if (progress.left) {\n this.style.setProperty('--progress-left', progress.left);\n } else {\n this.style.removeProperty('--progress-left');\n }\n if (progress.right) {\n this.style.setProperty('--progress-right', progress.right);\n if (this.isLegacy) {\n if (progress.left) {\n this.style.setProperty('background-position-x', progress.left);\n this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`);\n }\n }\n } else {\n this.style.removeProperty('--progress-right');\n if (this.isLegacy) {\n this.style.removeProperty('background-size');\n this.style.removeProperty('background-position-x');\n }\n }\n if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth);\n else this.style.removeProperty('--step-width');\n }\n\n mouseMove (point) {\n if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return;\n const x = point.x - this.getRect().left;\n this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1);\n }\n\n dispose () {\n this._observer.disconnect();\n }\n}\n\nexport { Range };\n","class RangeConstraints {\n constructor (node) {\n this._min = isNaN(node.min) ? 0 : node.min;\n this._max = isNaN(node.max) ? 100 : node.max;\n this._step = isNaN(node.step) ? 1 : node.step;\n this._rangeWidth = this._max - this._min;\n }\n\n get min () {\n return this._min;\n }\n\n get max () {\n return this._max;\n }\n\n get step () {\n return this._step;\n }\n\n get rangeWidth () {\n return this._rangeWidth;\n }\n\n test (min, max, step) {\n return this._min === min && this._max === max && this._step === step;\n }\n}\n\nexport { RangeConstraints };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeConstraints } from './range-constraints';\n\nclass RangeInput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeInput';\n }\n\n init () {\n this._init();\n this.node.value = this.getAttribute('value');\n this.changing = this.change.bind(this);\n this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing);\n if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this));\n this.change();\n }\n\n _init () {\n this._pointerId = 1;\n this.request(() => {\n if (!this.hasAttribute('min')) this.setAttribute('min', 0);\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.ascend(RangeEmission.DISABLED, this.node.disabled);\n });\n\n this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this));\n }\n\n _enablePointer (pointerId) {\n const isEnabled = pointerId === this._pointerId;\n if (this._isPointerEnabled === isEnabled) return;\n this._isPointerEnabled = isEnabled;\n if (isEnabled) this.style.removeProperty('pointer-events');\n else this.style.setProperty('pointer-events', 'none');\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) > value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE, parseFloat(this.node.value));\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled);\n if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) {\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.change();\n }\n }\n\n dispose () {\n this.removeEventListener('input', this.changing);\n }\n}\n\nexport { RangeInput };\n","import { RangeInput } from './range-input.js';\nimport { RangeEmission } from './range-emission';\n\nclass RangeInput2 extends RangeInput {\n static get instanceClassName () {\n return 'RangeInput2';\n }\n\n _init () {\n this._pointerId = 2;\n this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addDescent(RangeEmission.VALUE, this.setValue.bind(this));\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) < value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value));\n }\n\n setConstraints (constraints) {\n this.node.min = constraints.min;\n this.node.max = constraints.max;\n this.node.step = constraints.step;\n this.change();\n }\n\n mutate (attributesNames) {}\n}\n\nexport { RangeInput2 };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\n\nclass RangeOutput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeOutput';\n }\n\n init () {\n this.addDescent(RangeEmission.OUTPUT, this.change.bind(this));\n }\n\n change (data) {\n this.node.innerText = data.text;\n this.node.style.transform = data.transform;\n }\n}\n\nexport { RangeOutput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\n\nclass RangeLimit extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeLimit';\n }\n\n init () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_MIN):\n this.addDescent(RangeEmission.MIN, this.change.bind(this));\n break;\n\n case this.matches(RangeSelector.RANGE_MAX):\n this.addDescent(RangeEmission.MAX, this.change.bind(this));\n break;\n }\n }\n\n change (text) {\n this.node.innerText = text;\n }\n}\n\nexport { RangeLimit };\n","import api from './api.js';\nimport { RangeSelector } from './script/range/range-selector.js';\nimport { RangeEmission } from './script/range/range-emission.js';\nimport { Range } from './script/range/range.js';\nimport { RangeInput } from './script/range/range-input.js';\nimport { RangeInput2 } from './script/range/range-input2.js';\nimport { RangeOutput } from './script/range/range-output.js';\nimport { RangeLimit } from './script/range/range-limit.js';\n\napi.range = {\n Range: Range,\n RangeInput: RangeInput,\n RangeInput2: RangeInput2,\n RangeOutput: RangeOutput,\n RangeLimit: RangeLimit,\n RangeEmission: RangeEmission,\n RangeSelector: RangeSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.range.RangeSelector.RANGE, api.range.Range);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2);\napi.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput);\napi.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit);\napi.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit);\n\nexport default api;\n"],"names":[],"mappings":";;AAAA,MAAM,MAAM,GAAG;AACf,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,YAAY,EAAE,SAAS;AACzB,EAAE,OAAO,EAAE,QAAQ;AACnB,CAAC;;ACJD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACC7B,MAAM,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;AAClD,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;AACtD,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC1D,EAAE,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC1G,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;AAClF,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,iCAAiC,CAAC;AAChG,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC1D,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AACpD,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AACpD,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/C,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/C,CAAC;;ACbM,MAAM,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;AACpD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;AAChE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;AAChD,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;AAChD,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;AAClD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;AAC1D,EAAE,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;AACtE,CAAC;;ACdD,MAAM,UAAU,CAAC;AACjB,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AAClB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AAClB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACzB,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACtB,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACtB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AACjC,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AACjC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;AAC/C,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;AAC/C,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,OAAO;AACrC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,YAAY,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE;AACjC,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC5B,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;AACtC,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC;AACzB,GAAG;AACH;AACA,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE;AAC/B,IAAI,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AACpC,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC;AAChC,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC;AAChC,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;AAClC,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;AAC9C,GAAG;AACH;AACA,EAAE,IAAI,GAAG,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,GAAG,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,GAAG;AAChB,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS;AAC1B,MAAM,SAAS,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AACzF,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;AAClD,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AACnB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;AACxD,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3C,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;AACtC,IAAI,IAAI,CAAC,SAAS,GAAG;AACrB,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA,MAAM,cAAc,SAAS,UAAU,CAAC;AACxC,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACpB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;AAChD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC/C,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;AACrD,GAAG;AACH,CAAC;AACD;AACA,MAAM,gBAAgB,SAAS,UAAU,CAAC;AAC1C,EAAE,IAAI,MAAM,CAAC,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,OAAO;AACvC,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9E,GAAG;AACH;AACA,EAAE,YAAY,CAAC,CAAC,KAAK,EAAE;AACvB,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACpB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;AACrE,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3C,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;AACtC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,SAAS,GAAG;AACrB,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrF,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA,MAAM,oBAAoB,SAAS,gBAAgB,CAAC;AACpD,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACpB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;AAChD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC/C,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/E,GAAG;AACH;;ACzLA,MAAM,UAAU,GAAG;AACnB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,WAAW,EAAE,aAAa;AAC5B,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC,CAAC;AACF;AACA,MAAM,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC7B,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAChC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AACrH,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AACrH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC;AACxD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;AACtC,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;AACnD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;AACtC,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AACpC,QAAQ,MAAM;AACd;AACA,MAAM;AACN,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;AACvC,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,OAAO;AACrC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB;AACA,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;AACjC;AACA,IAAI,QAAQ,IAAI,CAAC,KAAK;AACtB,MAAM,KAAK,UAAU,CAAC,WAAW;AACjC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;AACjD,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,UAAU,CAAC,MAAM;AAC5B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAC7C,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,UAAU,CAAC,IAAI;AAC1B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;AAC3C,QAAQ,MAAM;AACd;AACA,MAAM;AACN,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACvC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpC,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG;AACH;AACA,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,cAAc,CAAC,GAAG;AACpB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;AAC7C,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B,IAAI,QAAQ,IAAI,CAAC,KAAK;AACtB,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC;AAClC,MAAM,KAAK,UAAU,CAAC,MAAM;AAC5B,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjD,QAAQ,MAAM;AACd,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;AAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE;AAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACzD,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,eAAe,EAAE;AAC3B,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC5C,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAChE,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;AAC/D,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7E,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;AACtB,QAAQ,MAAM;AACd,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzD,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC1C,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;AACvB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;AACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzE,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxJ,SAAS;AACT,OAAO;AACP,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AACpD,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;AACrD,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAC3D,OAAO;AACP,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7F,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACnD,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,WAAW,EAAE,OAAO;AAC1F,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;AAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACzL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;AAChC,GAAG;AACH;;AC1LA,MAAM,gBAAgB,CAAC;AACvB,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAC/C,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACjD,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAClD,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7C,GAAG;AACH;AACA,EAAE,IAAI,GAAG,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,GAAG,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,UAAU,CAAC,GAAG;AACpB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;AACzE,GAAG;AACH;;ACvBA,MAAM,UAAU,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClF,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AACvB,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9D,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,GAAG;AACH;AACA,EAAE,cAAc,CAAC,CAAC,SAAS,EAAE;AAC7B,IAAI,MAAM,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC;AACpD,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,OAAO;AACrD,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACvC,IAAI,IAAI,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAC/D,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC1D,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;AAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,eAAe,EAAE;AAC3B,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtG,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAChH,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,GAAG;AACH;;ACxDA,MAAM,WAAW,SAAS,UAAU,CAAC;AACrC,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;AAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,GAAG;AACH;AACA,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE;AAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;AACpC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;AACpC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE;AAC7B;;AC9BA,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AACpC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/C,GAAG;AACH;;ACZA,MAAM,UAAU,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM;AACd,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC/B,GAAG;AACH;;ACfA,GAAG,CAAC,KAAK,GAAG;AACZ,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,UAAU,EAAE,UAAU;AACxB,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,UAAU,EAAE,UAAU;AACxB,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,aAAa,EAAE,aAAa;AAC9B,CAAC;;ACfD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAClF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAChF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.module.min.js b/design_system_admin/dsfr/component/range/range.module.min.js new file mode 100644 index 0000000000000000000000000000000000000000..8dd05f7f66ba95fa0ba9539abf2fb77ed74861ee --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.module.min.js @@ -0,0 +1,3 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ +const t=window.dsfr,e={RANGE:t.internals.ns.selector("range"),RANGE_SM:t.internals.ns.selector("range--sm"),RANGE_STEP:t.internals.ns.selector("range--step"),RANGE_DOUBLE:t.internals.ns.selector("range--double"),RANGE_DOUBLE_STEP:t.internals.ns.selector("range--double")+t.internals.ns.selector("range--step"),RANGE_INPUT:t.internals.ns.selector("range input[type=range]:nth-of-type(1)"),RANGE_INPUT2:`${t.internals.ns.selector("range--double")} input[type=range]:nth-of-type(2)`,RANGE_OUTPUT:t.internals.ns.selector("range__output"),RANGE_MIN:t.internals.ns.selector("range__min"),RANGE_MAX:t.internals.ns.selector("range__max"),RANGE_PREFIX:t.internals.ns.attr("prefix"),RANGE_SUFFIX:t.internals.ns.attr("suffix")},s={VALUE:t.internals.ns.emission("range","value"),VALUE2:t.internals.ns.emission("range","value2"),OUTPUT:t.internals.ns.emission("range","output"),CONSTRAINTS:t.internals.ns.emission("range","constraints"),MIN:t.internals.ns.emission("range","min"),MAX:t.internals.ns.emission("range","max"),STEP:t.internals.ns.emission("range","step"),PREFIX:t.internals.ns.emission("range","prefix"),SUFFIX:t.internals.ns.emission("range","suffix"),DISABLED:t.internals.ns.emission("range","disabled"),ENABLE_POINTER:t.internals.ns.emission("range","enable_pointer")};class i{constructor(){this._width=0,this._min=0,this._max=0,this._value=0,this._thumbSize=24,this._innerWidth=0,this._prefix="",this._suffix="",this._background={}}configure(t){t&&(this._prefix=t._prefix,this._suffix=t._suffix,this._width=t.width,this.setConstraints(t._constraints),this.value=t.value,this.update())}setPrefix(t){this._prefix=null!==t?t:""}setSuffix(t){this._suffix=null!==t?t:""}_decorate(t){return`${this._prefix}${t}${this._suffix}`}get width(){return this._width}set width(t){this._width=t}get isSm(){return this._isSm}set isSm(t){this._isSm!==t&&(this._isSm=t,this.setThumbSize(t?16:24),this.update())}setThumbSize(t,e=1){this._thumbSize=t,this._innerPadding=t*e}get textValue(){return this._decorate(this._value)}get value(){return this._value}set value(t){this._value=t}get outputX(){return this._outputX}setConstraints(t){this._constraints=t,this._min=t.min,this._max=t.max,this._step=t.step,this._rangeWidth=t.rangeWidth}get min(){return this._min}get textMin(){return this._decorate(this._min)}get max(){return this._max}get textMax(){return this._decorate(this._max)}get step(){return this._step}get output(){return{text:this.textValue,transform:`translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`}}_getRatio(t){return(t-this._min)/this._rangeWidth}get progress(){return this._progress}update(){this._update()}_update(){this._innerWidth=this._width-this._innerPadding;const t=this._getRatio(this._value);this._translateX=t*this._width,this._centerPercent=100*t,this._progress={right:`${(this._innerWidth*t+.5*this._innerPadding).toFixed(2)}px`}}}class n extends i{get stepWidth(){return`${this._stepWidth.toFixed(3)}px`}_update(){super._update();const t=this._rangeWidth/this._step;for(this._stepWidth=this._innerWidth/t;this._stepWidth<4;)this._stepWidth*=2}}class r extends i{get value2(){return this._value}set value2(t){this._value2!==t&&(this._value2=t,this.update())}get textValue(){return`${this._decorate(this._value)} - ${this._decorate(this._value2)}`}setThumbSize(t){super.setThumbSize(t,2)}_update(){super._update();const t=this._getRatio(.5*(this._value+this._value2));this._translateX=t*this._width,this._centerPercent=100*t;const e=this._getRatio(this._value),s=this._getRatio(this._value2);this._progress={left:`${(this._innerWidth*e+.25*this._innerPadding).toFixed(2)}px`,right:`${(this._innerWidth*s+.75*this._innerPadding).toFixed(2)}px`}}}class h extends r{get stepWidth(){return`${this._stepWidth.toFixed(3)}px`}_update(){super._update();const t=this._rangeWidth/this._step;this._stepWidth=this._innerWidth/t,this._stepWidth<4&&(this._stepWidth*=Math.ceil(4/this._stepWidth))}}const a="step",d="double",_="double-step",o="default";class l extends t.core.Instance{static get instanceClassName(){return"Range"}init(){this._retrieveType(),this._retrieveSize(),this.isLegacy?(this.isResizing=!0,this.isMouseMoving=!0):(this._observer=new ResizeObserver(this.resize.bind(this)),this._observer.observe(this.node)),this.addAscent(s.CONSTRAINTS,this.setConstraints.bind(this)),this.addAscent(s.VALUE,this.setValue.bind(this)),this.addAscent(s.VALUE2,this.setValue2.bind(this)),this.getAttribute(e.RANGE_PREFIX)&&this.setPrefix(this.getAttribute(e.RANGE_PREFIX)),this.getAttribute(e.RANGE_SUFFIX)&&this.setSuffix(this.getAttribute(e.RANGE_SUFFIX)),this.update()}_retrieveType(){switch(!0){case this.matches(e.RANGE_DOUBLE_STEP):case this.matches(e.RANGE_DOUBLE):this.type=d;break;case this.matches(e.RANGE_STEP):this.type=a;break;default:this.type=o}}set type(t){if(this._type===t)return;this._type=t;const e=this._model;switch(this._type){case _:this._model=new h;break;case d:this._model=new r;break;case a:this._model=new n;break;default:this._model=new i}this._model.configure(e)}get type(){return this._type}_retrieveSize(){this._model.isSm=this.matches(e.RANGE_SM)}resize(){this._retrieveWidth(),this.update()}_retrieveWidth(){this._model.width=this.getRect().width}setValue(t){switch(this._model.value=t,this._type){case _:case d:this.descend(s.VALUE,t)}this.update()}setValue2(t){this._model.value2=t,this.descend(s.VALUE2,t),this.update()}setConstraints(t){this._model.setConstraints(t),this.update(),this.descend(s.CONSTRAINTS,t)}setPrefix(t){this._model.setPrefix(t),this.update()}setSuffix(t){this._model.setSuffix(t),this.update()}mutate(t){switch(!0){case t.includes("class"):this._retrieveType(),this._retrieveSize();break;case t.includes(e.RANGE_PREFIX):case t.includes(e.RANGE_SUFFIX):this._model.setPrefix(this.getAttribute(e.RANGE_PREFIX)),this._model.setSuffix(this.getAttribute(e.RANGE_SUFFIX)),this.update()}}update(){this._model.update(),this.descend(s.OUTPUT,this._model.output),this.descend(s.MIN,this._model.textMin),this.descend(s.MAX,this._model.textMax);const t=this._model.progress;t.left?this.style.setProperty("--progress-left",t.left):this.style.removeProperty("--progress-left"),t.right?(this.style.setProperty("--progress-right",t.right),this.isLegacy&&t.left&&(this.style.setProperty("background-position-x",t.left),this.style.setProperty("background-size",`${parseFloat(t.right)-parseFloat(t.left)}px ${this._model.isSm?"8px":"12px"}`))):(this.style.removeProperty("--progress-right"),this.isLegacy&&(this.style.removeProperty("background-size"),this.style.removeProperty("background-position-x"))),this._model.stepWidth?this.style.setProperty("--step-width",this._model.stepWidth):this.style.removeProperty("--step-width")}mouseMove(t){if(this._type!==d&&this._type!==_)return;const e=t.x-this.getRect().left;this.descend(s.ENABLE_POINTER,(parseFloat(this._model.progress.right)-parseFloat(this._model.progress.left))/2+parseFloat(this._model.progress.left)<e?2:1)}dispose(){this._observer.disconnect()}}class u{constructor(t){this._min=isNaN(t.min)?0:t.min,this._max=isNaN(t.max)?100:t.max,this._step=isNaN(t.step)?1:t.step,this._rangeWidth=this._max-this._min}get min(){return this._min}get max(){return this._max}get step(){return this._step}get rangeWidth(){return this._rangeWidth}test(t,e,s){return this._min===t&&this._max===e&&this._step===s}}class g extends t.core.Instance{static get instanceClassName(){return"RangeInput"}init(){this._init(),this.node.value=this.getAttribute("value"),this.changing=this.change.bind(this),this.node.addEventListener(this.isLegacy?"change":"input",this.changing),this.isLegacy&&this.addDescent(s.ENABLE_POINTER,this._enablePointer.bind(this)),this.change()}_init(){this._pointerId=1,this.request((()=>{this.hasAttribute("min")||this.setAttribute("min",0),this.ascend(s.CONSTRAINTS,new u(this.node)),this.ascend(s.DISABLED,this.node.disabled)})),this.addDescent(s.VALUE2,this.setValue.bind(this))}_enablePointer(t){const e=t===this._pointerId;this._isPointerEnabled!==e&&(this._isPointerEnabled=e,e?this.style.removeProperty("pointer-events"):this.style.setProperty("pointer-events","none"))}setValue(t){parseFloat(this.node.value)>t&&(this.node.value=t,this.change())}change(){this.ascend(s.VALUE,parseFloat(this.node.value))}mutate(t){t.includes("disabled")&&this.ascend(s.DISABLED,this.node.disabled),(t.includes("min")||t.includes("max")||t.includes("step"))&&(this.ascend(s.CONSTRAINTS,new u(this.node)),this.change())}dispose(){this.removeEventListener("input",this.changing)}}class c extends t.core.Instance{static get instanceClassName(){return"RangeOutput"}init(){this.addDescent(s.OUTPUT,this.change.bind(this))}change(t){this.node.innerText=t.text,this.node.style.transform=t.transform}}class p extends t.core.Instance{static get instanceClassName(){return"RangeLimit"}init(){switch(!0){case this.matches(e.RANGE_MIN):this.addDescent(s.MIN,this.change.bind(this));break;case this.matches(e.RANGE_MAX):this.addDescent(s.MAX,this.change.bind(this))}}change(t){this.node.innerText=t}}t.range={Range:l,RangeInput:g,RangeInput2:class extends g{static get instanceClassName(){return"RangeInput2"}_init(){this._pointerId=2,this.addDescent(s.CONSTRAINTS,this.setConstraints.bind(this)),this.addDescent(s.VALUE,this.setValue.bind(this))}setValue(t){parseFloat(this.node.value)<t&&(this.node.value=t,this.change())}change(){this.ascend(s.VALUE2,parseFloat(this.node.value))}setConstraints(t){this.node.min=t.min,this.node.max=t.max,this.node.step=t.step,this.change()}mutate(t){}},RangeOutput:c,RangeLimit:p,RangeEmission:s,RangeSelector:e},t.internals.register(t.range.RangeSelector.RANGE,t.range.Range),t.internals.register(t.range.RangeSelector.RANGE_INPUT,t.range.RangeInput),t.internals.register(t.range.RangeSelector.RANGE_INPUT2,t.range.RangeInput2),t.internals.register(t.range.RangeSelector.RANGE_OUTPUT,t.range.RangeOutput),t.internals.register(t.range.RangeSelector.RANGE_MIN,t.range.RangeLimit),t.internals.register(t.range.RangeSelector.RANGE_MAX,t.range.RangeLimit); +//# sourceMappingURL=range.module.min.js.map diff --git a/design_system_admin/dsfr/component/range/range.module.min.js.map b/design_system_admin/dsfr/component/range/range.module.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6a5af59034725a88f5140f0943476f56296de992 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.module.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.module.min.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/range/script/range/range-selector.js","../../../src/component/range/script/range/range-emission.js","../../../src/component/range/script/range/range-model.js","../../../src/component/range/script/range/range.js","../../../src/component/range/script/range/range-constraints.js","../../../src/component/range/script/range/range-input.js","../../../src/component/range/script/range/range-output.js","../../../src/component/range/script/range/range-limit.js","../../../src/component/range/index.js","../../../src/component/range/script/range/range-input2.js","../../../src/component/range/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const RangeSelector = {\n RANGE: api.internals.ns.selector('range'),\n RANGE_SM: api.internals.ns.selector('range--sm'),\n RANGE_STEP: api.internals.ns.selector('range--step'),\n RANGE_DOUBLE: api.internals.ns.selector('range--double'),\n RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'),\n RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'),\n RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`,\n RANGE_OUTPUT: api.internals.ns.selector('range__output'),\n RANGE_MIN: api.internals.ns.selector('range__min'),\n RANGE_MAX: api.internals.ns.selector('range__max'),\n RANGE_PREFIX: api.internals.ns.attr('prefix'),\n RANGE_SUFFIX: api.internals.ns.attr('suffix')\n};\n","import api from '../../api.js';\n\nexport const RangeEmission = {\n VALUE: api.internals.ns.emission('range', 'value'),\n VALUE2: api.internals.ns.emission('range', 'value2'),\n OUTPUT: api.internals.ns.emission('range', 'output'),\n CONSTRAINTS: api.internals.ns.emission('range', 'constraints'),\n MIN: api.internals.ns.emission('range', 'min'),\n MAX: api.internals.ns.emission('range', 'max'),\n STEP: api.internals.ns.emission('range', 'step'),\n PREFIX: api.internals.ns.emission('range', 'prefix'),\n SUFFIX: api.internals.ns.emission('range', 'suffix'),\n DISABLED: api.internals.ns.emission('range', 'disabled'),\n ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer')\n};\n","class RangeModel {\n constructor () {\n this._width = 0;\n this._min = 0;\n this._max = 0;\n this._value = 0;\n this._thumbSize = 24;\n this._innerWidth = 0;\n this._prefix = '';\n this._suffix = '';\n this._background = {};\n }\n\n configure (model) {\n if (!model) return;\n this._prefix = model._prefix;\n this._suffix = model._suffix;\n this._width = model.width;\n this.setConstraints(model._constraints);\n this.value = model.value;\n this.update();\n }\n\n setPrefix (value) {\n this._prefix = value !== null ? value : '';\n }\n\n setSuffix (value) {\n this._suffix = value !== null ? value : '';\n }\n\n _decorate (value) {\n return `${this._prefix}${value}${this._suffix}`;\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get isSm () {\n return this._isSm;\n }\n\n set isSm (value) {\n if (this._isSm === value) return;\n this._isSm = value;\n this.setThumbSize(value ? 16 : 24);\n this.update();\n }\n\n setThumbSize (value, mult = 1) {\n this._thumbSize = value;\n this._innerPadding = value * mult;\n }\n\n get textValue () {\n return this._decorate(this._value);\n }\n\n get value () {\n return this._value;\n }\n\n set value (value) {\n this._value = value;\n }\n\n get outputX () {\n return this._outputX;\n }\n\n setConstraints (constraints) {\n this._constraints = constraints;\n this._min = constraints.min;\n this._max = constraints.max;\n this._step = constraints.step;\n this._rangeWidth = constraints.rangeWidth;\n }\n\n get min () {\n return this._min;\n }\n\n get textMin () {\n return this._decorate(this._min);\n }\n\n get max () {\n return this._max;\n }\n\n get textMax () {\n return this._decorate(this._max);\n }\n\n get step () {\n return this._step;\n }\n\n get output () {\n return {\n text: this.textValue,\n transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`\n };\n }\n\n _getRatio (value) {\n return (value - this._min) / this._rangeWidth;\n }\n\n get progress () {\n return this._progress;\n }\n\n update () {\n this._update();\n }\n\n _update () {\n this._innerWidth = this._width - this._innerPadding;\n const ratio = this._getRatio(this._value);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n this._progress = {\n right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelStep extends RangeModel {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n while (this._stepWidth < 4) this._stepWidth *= 2;\n }\n}\n\nclass RangeModelDouble extends RangeModel {\n get value2 () {\n return this._value;\n }\n\n set value2 (value) {\n if (this._value2 === value) return;\n this._value2 = value;\n this.update();\n }\n\n get textValue () {\n return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;\n }\n\n setThumbSize (value) {\n super.setThumbSize(value, 2);\n }\n\n _update () {\n super._update();\n const ratio = this._getRatio((this._value + this._value2) * 0.5);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n const ratio1 = this._getRatio(this._value);\n const ratio2 = this._getRatio(this._value2);\n this._progress = {\n left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`,\n right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelDoubleStep extends RangeModelDouble {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth);\n }\n}\n\nexport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\nimport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep } from './range-model';\n\nconst RangeTypes = {\n STEP: 'step',\n DOUBLE: 'double',\n DOUBLE_STEP: 'double-step',\n DEFAULT: 'default'\n};\n\nclass Range extends api.core.Instance {\n static get instanceClassName () {\n return 'Range';\n }\n\n init () {\n this._retrieveType();\n this._retrieveSize();\n if (this.isLegacy) {\n this.isResizing = true;\n this.isMouseMoving = true;\n } else {\n this._observer = new ResizeObserver(this.resize.bind(this));\n this._observer.observe(this.node);\n }\n\n this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addAscent(RangeEmission.VALUE, this.setValue.bind(this));\n this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this));\n if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n }\n\n _retrieveType () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_DOUBLE_STEP):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_DOUBLE):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_STEP):\n this.type = RangeTypes.STEP;\n break;\n\n default:\n this.type = RangeTypes.DEFAULT;\n }\n }\n\n set type (value) {\n if (this._type === value) return;\n this._type = value;\n\n const oldModel = this._model;\n\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n this._model = new RangeModelDoubleStep();\n break;\n\n case RangeTypes.DOUBLE:\n this._model = new RangeModelDouble();\n break;\n\n case RangeTypes.STEP:\n this._model = new RangeModelStep();\n break;\n\n default:\n this._model = new RangeModel();\n }\n\n this._model.configure(oldModel);\n }\n\n get type () {\n return this._type;\n }\n\n _retrieveSize () {\n this._model.isSm = this.matches(RangeSelector.RANGE_SM);\n }\n\n resize () {\n this._retrieveWidth();\n this.update();\n }\n\n _retrieveWidth () {\n this._model.width = this.getRect().width;\n }\n\n setValue (value) {\n this._model.value = value;\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n case RangeTypes.DOUBLE:\n this.descend(RangeEmission.VALUE, value);\n break;\n }\n this.update();\n }\n\n setValue2 (value) {\n this._model.value2 = value;\n this.descend(RangeEmission.VALUE2, value);\n this.update();\n }\n\n setConstraints (constraints) {\n this._model.setConstraints(constraints);\n this.update();\n this.descend(RangeEmission.CONSTRAINTS, constraints);\n }\n\n setPrefix (value) {\n this._model.setPrefix(value);\n this.update();\n }\n\n setSuffix (value) {\n this._model.setSuffix(value);\n this.update();\n }\n\n mutate (attributesNames) {\n switch (true) {\n case attributesNames.includes('class'):\n this._retrieveType();\n this._retrieveSize();\n break;\n\n case attributesNames.includes(RangeSelector.RANGE_PREFIX):\n case attributesNames.includes(RangeSelector.RANGE_SUFFIX):\n this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n break;\n }\n }\n\n update () {\n this._model.update();\n this.descend(RangeEmission.OUTPUT, this._model.output);\n this.descend(RangeEmission.MIN, this._model.textMin);\n this.descend(RangeEmission.MAX, this._model.textMax);\n const progress = this._model.progress;\n if (progress.left) {\n this.style.setProperty('--progress-left', progress.left);\n } else {\n this.style.removeProperty('--progress-left');\n }\n if (progress.right) {\n this.style.setProperty('--progress-right', progress.right);\n if (this.isLegacy) {\n if (progress.left) {\n this.style.setProperty('background-position-x', progress.left);\n this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`);\n }\n }\n } else {\n this.style.removeProperty('--progress-right');\n if (this.isLegacy) {\n this.style.removeProperty('background-size');\n this.style.removeProperty('background-position-x');\n }\n }\n if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth);\n else this.style.removeProperty('--step-width');\n }\n\n mouseMove (point) {\n if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return;\n const x = point.x - this.getRect().left;\n this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1);\n }\n\n dispose () {\n this._observer.disconnect();\n }\n}\n\nexport { Range };\n","class RangeConstraints {\n constructor (node) {\n this._min = isNaN(node.min) ? 0 : node.min;\n this._max = isNaN(node.max) ? 100 : node.max;\n this._step = isNaN(node.step) ? 1 : node.step;\n this._rangeWidth = this._max - this._min;\n }\n\n get min () {\n return this._min;\n }\n\n get max () {\n return this._max;\n }\n\n get step () {\n return this._step;\n }\n\n get rangeWidth () {\n return this._rangeWidth;\n }\n\n test (min, max, step) {\n return this._min === min && this._max === max && this._step === step;\n }\n}\n\nexport { RangeConstraints };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeConstraints } from './range-constraints';\n\nclass RangeInput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeInput';\n }\n\n init () {\n this._init();\n this.node.value = this.getAttribute('value');\n this.changing = this.change.bind(this);\n this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing);\n if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this));\n this.change();\n }\n\n _init () {\n this._pointerId = 1;\n this.request(() => {\n if (!this.hasAttribute('min')) this.setAttribute('min', 0);\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.ascend(RangeEmission.DISABLED, this.node.disabled);\n });\n\n this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this));\n }\n\n _enablePointer (pointerId) {\n const isEnabled = pointerId === this._pointerId;\n if (this._isPointerEnabled === isEnabled) return;\n this._isPointerEnabled = isEnabled;\n if (isEnabled) this.style.removeProperty('pointer-events');\n else this.style.setProperty('pointer-events', 'none');\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) > value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE, parseFloat(this.node.value));\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled);\n if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) {\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.change();\n }\n }\n\n dispose () {\n this.removeEventListener('input', this.changing);\n }\n}\n\nexport { RangeInput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\n\nclass RangeOutput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeOutput';\n }\n\n init () {\n this.addDescent(RangeEmission.OUTPUT, this.change.bind(this));\n }\n\n change (data) {\n this.node.innerText = data.text;\n this.node.style.transform = data.transform;\n }\n}\n\nexport { RangeOutput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\n\nclass RangeLimit extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeLimit';\n }\n\n init () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_MIN):\n this.addDescent(RangeEmission.MIN, this.change.bind(this));\n break;\n\n case this.matches(RangeSelector.RANGE_MAX):\n this.addDescent(RangeEmission.MAX, this.change.bind(this));\n break;\n }\n }\n\n change (text) {\n this.node.innerText = text;\n }\n}\n\nexport { RangeLimit };\n","import api from './api.js';\nimport { RangeSelector } from './script/range/range-selector.js';\nimport { RangeEmission } from './script/range/range-emission.js';\nimport { Range } from './script/range/range.js';\nimport { RangeInput } from './script/range/range-input.js';\nimport { RangeInput2 } from './script/range/range-input2.js';\nimport { RangeOutput } from './script/range/range-output.js';\nimport { RangeLimit } from './script/range/range-limit.js';\n\napi.range = {\n Range: Range,\n RangeInput: RangeInput,\n RangeInput2: RangeInput2,\n RangeOutput: RangeOutput,\n RangeLimit: RangeLimit,\n RangeEmission: RangeEmission,\n RangeSelector: RangeSelector\n};\n\nexport default api;\n","import { RangeInput } from './range-input.js';\nimport { RangeEmission } from './range-emission';\n\nclass RangeInput2 extends RangeInput {\n static get instanceClassName () {\n return 'RangeInput2';\n }\n\n _init () {\n this._pointerId = 2;\n this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addDescent(RangeEmission.VALUE, this.setValue.bind(this));\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) < value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value));\n }\n\n setConstraints (constraints) {\n this.node.min = constraints.min;\n this.node.max = constraints.max;\n this.node.step = constraints.step;\n this.change();\n }\n\n mutate (attributesNames) {}\n}\n\nexport { RangeInput2 };\n","import api from './index.js';\n\napi.internals.register(api.range.RangeSelector.RANGE, api.range.Range);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2);\napi.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput);\napi.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit);\napi.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit);\n\nexport default api;\n"],"names":["api","window","RangeSelector","RANGE","internals","ns","selector","RANGE_SM","RANGE_STEP","RANGE_DOUBLE","RANGE_DOUBLE_STEP","RANGE_INPUT","RANGE_INPUT2","RANGE_OUTPUT","RANGE_MIN","RANGE_MAX","RANGE_PREFIX","attr","RANGE_SUFFIX","RangeEmission","VALUE","emission","VALUE2","OUTPUT","CONSTRAINTS","MIN","MAX","STEP","PREFIX","SUFFIX","DISABLED","ENABLE_POINTER","RangeModel","constructor","this","_width","_min","_max","_value","_thumbSize","_innerWidth","_prefix","_suffix","_background","configure","model","width","setConstraints","_constraints","value","update","setPrefix","setSuffix","_decorate","isSm","_isSm","setThumbSize","mult","_innerPadding","textValue","outputX","_outputX","constraints","min","max","_step","step","_rangeWidth","rangeWidth","textMin","textMax","output","text","transform","_translateX","_centerPercent","_getRatio","progress","_progress","_update","ratio","right","toFixed","RangeModelStep","stepWidth","_stepWidth","super","steps","RangeModelDouble","value2","_value2","ratio1","ratio2","left","RangeModelDoubleStep","Math","ceil","RangeTypes","Range","core","Instance","instanceClassName","init","_retrieveType","_retrieveSize","isLegacy","isResizing","isMouseMoving","_observer","ResizeObserver","resize","bind","observe","node","addAscent","setValue","setValue2","getAttribute","matches","type","_type","oldModel","_model","_retrieveWidth","getRect","descend","mutate","attributesNames","includes","style","setProperty","removeProperty","parseFloat","mouseMove","point","x","dispose","disconnect","RangeConstraints","isNaN","test","RangeInput","_init","changing","change","addEventListener","addDescent","_enablePointer","_pointerId","request","hasAttribute","setAttribute","ascend","disabled","pointerId","isEnabled","_isPointerEnabled","removeEventListener","RangeOutput","data","innerText","RangeLimit","range","RangeInput2","register"],"mappings":";AAAA,MCCMA,EAAMC,OAAuB,KCCtBC,EAAgB,CAC3BC,MAAOH,EAAII,UAAUC,GAAGC,SAAS,SACjCC,SAAUP,EAAII,UAAUC,GAAGC,SAAS,aACpCE,WAAYR,EAAII,UAAUC,GAAGC,SAAS,eACtCG,aAAcT,EAAII,UAAUC,GAAGC,SAAS,iBACxCI,kBAAmBV,EAAII,UAAUC,GAAGC,SAAS,iBAAmBN,EAAII,UAAUC,GAAGC,SAAS,eAC1FK,YAAaX,EAAII,UAAUC,GAAGC,SAAS,0CACvCM,aAAc,GAAGZ,EAAII,UAAUC,GAAGC,SAAS,oDAC3CO,aAAcb,EAAII,UAAUC,GAAGC,SAAS,iBACxCQ,UAAWd,EAAII,UAAUC,GAAGC,SAAS,cACrCS,UAAWf,EAAII,UAAUC,GAAGC,SAAS,cACrCU,aAAchB,EAAII,UAAUC,GAAGY,KAAK,UACpCC,aAAclB,EAAII,UAAUC,GAAGY,KAAK,WCZzBE,EAAgB,CAC3BC,MAAOpB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,SAC1CC,OAAQtB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CE,OAAQvB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CG,YAAaxB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,eAChDI,IAAKzB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,OACxCK,IAAK1B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,OACxCM,KAAM3B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,QACzCO,OAAQ5B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CQ,OAAQ7B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CS,SAAU9B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,YAC7CU,eAAgB/B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,mBCbrD,MAAMW,EACJC,cACEC,KAAKC,OAAS,EACdD,KAAKE,KAAO,EACZF,KAAKG,KAAO,EACZH,KAAKI,OAAS,EACdJ,KAAKK,WAAa,GAClBL,KAAKM,YAAc,EACnBN,KAAKO,QAAU,GACfP,KAAKQ,QAAU,GACfR,KAAKS,YAAc,GAGrBC,UAAWC,GACJA,IACLX,KAAKO,QAAUI,EAAMJ,QACrBP,KAAKQ,QAAUG,EAAMH,QACrBR,KAAKC,OAASU,EAAMC,MACpBZ,KAAKa,eAAeF,EAAMG,cAC1Bd,KAAKe,MAAQJ,EAAMI,MACnBf,KAAKgB,UAGPC,UAAWF,GACTf,KAAKO,QAAoB,OAAVQ,EAAiBA,EAAQ,GAG1CG,UAAWH,GACTf,KAAKQ,QAAoB,OAAVO,EAAiBA,EAAQ,GAG1CI,UAAWJ,GACT,MAAO,GAAGf,KAAKO,UAAUQ,IAAQf,KAAKQ,UAGpCI,YACF,OAAOZ,KAAKC,OAGVW,UAAOG,GACTf,KAAKC,OAASc,EAGZK,WACF,OAAOpB,KAAKqB,MAGVD,SAAML,GACJf,KAAKqB,QAAUN,IACnBf,KAAKqB,MAAQN,EACbf,KAAKsB,aAAaP,EAAQ,GAAK,IAC/Bf,KAAKgB,UAGPM,aAAcP,EAAOQ,EAAO,GAC1BvB,KAAKK,WAAaU,EAClBf,KAAKwB,cAAgBT,EAAQQ,EAG3BE,gBACF,OAAOzB,KAAKmB,UAAUnB,KAAKI,QAGzBW,YACF,OAAOf,KAAKI,OAGVW,UAAOA,GACTf,KAAKI,OAASW,EAGZW,cACF,OAAO1B,KAAK2B,SAGdd,eAAgBe,GACd5B,KAAKc,aAAec,EACpB5B,KAAKE,KAAO0B,EAAYC,IACxB7B,KAAKG,KAAOyB,EAAYE,IACxB9B,KAAK+B,MAAQH,EAAYI,KACzBhC,KAAKiC,YAAcL,EAAYM,WAG7BL,UACF,OAAO7B,KAAKE,KAGViC,cACF,OAAOnC,KAAKmB,UAAUnB,KAAKE,MAGzB4B,UACF,OAAO9B,KAAKG,KAGViC,cACF,OAAOpC,KAAKmB,UAAUnB,KAAKG,MAGzB6B,WACF,OAAOhC,KAAK+B,MAGVM,aACF,MAAO,CACLC,KAAMtC,KAAKyB,UACXc,UAAW,cAAcvC,KAAKwC,8BAA8BxC,KAAKyC,oBAIrEC,UAAW3B,GACT,OAAQA,EAAQf,KAAKE,MAAQF,KAAKiC,YAGhCU,eACF,OAAO3C,KAAK4C,UAGd5B,SACEhB,KAAK6C,UAGPA,UACE7C,KAAKM,YAAcN,KAAKC,OAASD,KAAKwB,cACtC,MAAMsB,EAAQ9C,KAAK0C,UAAU1C,KAAKI,QAClCJ,KAAKwC,YAAcM,EAAQ9C,KAAKC,OAChCD,KAAKyC,eAAyB,IAARK,EACtB9C,KAAK4C,UAAY,CACfG,MAAO,IAAI/C,KAAKM,YAAcwC,EAA6B,GAArB9C,KAAKwB,eAAqBwB,QAAQ,SAK9E,MAAMC,UAAuBnD,EACvBoD,gBACF,MAAO,GAAGlD,KAAKmD,WAAWH,QAAQ,OAGpCH,UACEO,MAAMP,UACN,MAAMQ,EAAQrD,KAAKiC,YAAcjC,KAAK+B,MAEtC,IADA/B,KAAKmD,WAAanD,KAAKM,YAAc+C,EAC9BrD,KAAKmD,WAAa,GAAGnD,KAAKmD,YAAc,GAInD,MAAMG,UAAyBxD,EACzByD,aACF,OAAOvD,KAAKI,OAGVmD,WAAQxC,GACNf,KAAKwD,UAAYzC,IACrBf,KAAKwD,QAAUzC,EACff,KAAKgB,UAGHS,gBACF,MAAO,GAAGzB,KAAKmB,UAAUnB,KAAKI,aAAaJ,KAAKmB,UAAUnB,KAAKwD,WAGjElC,aAAcP,GACZqC,MAAM9B,aAAaP,EAAO,GAG5B8B,UACEO,MAAMP,UACN,MAAMC,EAAQ9C,KAAK0C,UAAyC,IAA9B1C,KAAKI,OAASJ,KAAKwD,UACjDxD,KAAKwC,YAAcM,EAAQ9C,KAAKC,OAChCD,KAAKyC,eAAyB,IAARK,EACtB,MAAMW,EAASzD,KAAK0C,UAAU1C,KAAKI,QAC7BsD,EAAS1D,KAAK0C,UAAU1C,KAAKwD,SACnCxD,KAAK4C,UAAY,CACfe,KAAM,IAAI3D,KAAKM,YAAcmD,EAA8B,IAArBzD,KAAKwB,eAAsBwB,QAAQ,OACzED,MAAO,IAAI/C,KAAKM,YAAcoD,EAA8B,IAArB1D,KAAKwB,eAAsBwB,QAAQ,SAKhF,MAAMY,UAA6BN,EAC7BJ,gBACF,MAAO,GAAGlD,KAAKmD,WAAWH,QAAQ,OAGpCH,UACEO,MAAMP,UACN,MAAMQ,EAAQrD,KAAKiC,YAAcjC,KAAK+B,MACtC/B,KAAKmD,WAAanD,KAAKM,YAAc+C,EACjCrD,KAAKmD,WAAa,IAAGnD,KAAKmD,YAAcU,KAAKC,KAAK,EAAI9D,KAAKmD,cCvLnE,MAAMY,EACE,OADFA,EAEI,SAFJA,EAGS,cAHTA,EAIK,UAGX,MAAMC,UAAclG,EAAImG,KAAKC,SAChBC,+BACT,MAAO,QAGTC,OACEpE,KAAKqE,gBACLrE,KAAKsE,gBACDtE,KAAKuE,UACPvE,KAAKwE,YAAa,EAClBxE,KAAKyE,eAAgB,IAErBzE,KAAK0E,UAAY,IAAIC,eAAe3E,KAAK4E,OAAOC,KAAK7E,OACrDA,KAAK0E,UAAUI,QAAQ9E,KAAK+E,OAG9B/E,KAAKgF,UAAU/F,EAAcK,YAAaU,KAAKa,eAAegE,KAAK7E,OACnEA,KAAKgF,UAAU/F,EAAcC,MAAOc,KAAKiF,SAASJ,KAAK7E,OACvDA,KAAKgF,UAAU/F,EAAcG,OAAQY,KAAKkF,UAAUL,KAAK7E,OACrDA,KAAKmF,aAAanH,EAAcc,eAAekB,KAAKiB,UAAUjB,KAAKmF,aAAanH,EAAcc,eAC9FkB,KAAKmF,aAAanH,EAAcgB,eAAegB,KAAKkB,UAAUlB,KAAKmF,aAAanH,EAAcgB,eAClGgB,KAAKgB,SAGPqD,gBACE,QAAQ,GACN,KAAKrE,KAAKoF,QAAQpH,EAAcQ,mBAIhC,KAAKwB,KAAKoF,QAAQpH,EAAcO,cAC9ByB,KAAKqF,KAAOtB,EACZ,MAEF,KAAK/D,KAAKoF,QAAQpH,EAAcM,YAC9B0B,KAAKqF,KAAOtB,EACZ,MAEF,QACE/D,KAAKqF,KAAOtB,GAIdsB,SAAMtE,GACR,GAAIf,KAAKsF,QAAUvE,EAAO,OAC1Bf,KAAKsF,MAAQvE,EAEb,MAAMwE,EAAWvF,KAAKwF,OAEtB,OAAQxF,KAAKsF,OACX,KAAKvB,EACH/D,KAAKwF,OAAS,IAAI5B,EAClB,MAEF,KAAKG,EACH/D,KAAKwF,OAAS,IAAIlC,EAClB,MAEF,KAAKS,EACH/D,KAAKwF,OAAS,IAAIvC,EAClB,MAEF,QACEjD,KAAKwF,OAAS,IAAI1F,EAGtBE,KAAKwF,OAAO9E,UAAU6E,GAGpBF,WACF,OAAOrF,KAAKsF,MAGdhB,gBACEtE,KAAKwF,OAAOpE,KAAOpB,KAAKoF,QAAQpH,EAAcK,UAGhDuG,SACE5E,KAAKyF,iBACLzF,KAAKgB,SAGPyE,iBACEzF,KAAKwF,OAAO5E,MAAQZ,KAAK0F,UAAU9E,MAGrCqE,SAAUlE,GAER,OADAf,KAAKwF,OAAOzE,MAAQA,EACZf,KAAKsF,OACX,KAAKvB,EACL,KAAKA,EACH/D,KAAK2F,QAAQ1G,EAAcC,MAAO6B,GAGtCf,KAAKgB,SAGPkE,UAAWnE,GACTf,KAAKwF,OAAOjC,OAASxC,EACrBf,KAAK2F,QAAQ1G,EAAcG,OAAQ2B,GACnCf,KAAKgB,SAGPH,eAAgBe,GACd5B,KAAKwF,OAAO3E,eAAee,GAC3B5B,KAAKgB,SACLhB,KAAK2F,QAAQ1G,EAAcK,YAAasC,GAG1CX,UAAWF,GACTf,KAAKwF,OAAOvE,UAAUF,GACtBf,KAAKgB,SAGPE,UAAWH,GACTf,KAAKwF,OAAOtE,UAAUH,GACtBf,KAAKgB,SAGP4E,OAAQC,GACN,QAAQ,GACN,KAAKA,EAAgBC,SAAS,SAC5B9F,KAAKqE,gBACLrE,KAAKsE,gBACL,MAEF,KAAKuB,EAAgBC,SAAS9H,EAAcc,cAC5C,KAAK+G,EAAgBC,SAAS9H,EAAcgB,cAC1CgB,KAAKwF,OAAOvE,UAAUjB,KAAKmF,aAAanH,EAAcc,eACtDkB,KAAKwF,OAAOtE,UAAUlB,KAAKmF,aAAanH,EAAcgB,eACtDgB,KAAKgB,UAKXA,SACEhB,KAAKwF,OAAOxE,SACZhB,KAAK2F,QAAQ1G,EAAcI,OAAQW,KAAKwF,OAAOnD,QAC/CrC,KAAK2F,QAAQ1G,EAAcM,IAAKS,KAAKwF,OAAOrD,SAC5CnC,KAAK2F,QAAQ1G,EAAcO,IAAKQ,KAAKwF,OAAOpD,SAC5C,MAAMO,EAAW3C,KAAKwF,OAAO7C,SACzBA,EAASgB,KACX3D,KAAK+F,MAAMC,YAAY,kBAAmBrD,EAASgB,MAEnD3D,KAAK+F,MAAME,eAAe,mBAExBtD,EAASI,OACX/C,KAAK+F,MAAMC,YAAY,mBAAoBrD,EAASI,OAChD/C,KAAKuE,UACH5B,EAASgB,OACX3D,KAAK+F,MAAMC,YAAY,wBAAyBrD,EAASgB,MACzD3D,KAAK+F,MAAMC,YAAY,kBAAmB,GAAGE,WAAWvD,EAASI,OAASmD,WAAWvD,EAASgB,WAAW3D,KAAKwF,OAAOpE,KAAO,MAAQ,aAIxIpB,KAAK+F,MAAME,eAAe,oBACtBjG,KAAKuE,WACPvE,KAAK+F,MAAME,eAAe,mBAC1BjG,KAAK+F,MAAME,eAAe,2BAG1BjG,KAAKwF,OAAOtC,UAAWlD,KAAK+F,MAAMC,YAAY,eAAgBhG,KAAKwF,OAAOtC,WACzElD,KAAK+F,MAAME,eAAe,gBAGjCE,UAAWC,GACT,GAAIpG,KAAKsF,QAAUvB,GAAqB/D,KAAKsF,QAAUvB,EAAwB,OAC/E,MAAMsC,EAAID,EAAMC,EAAIrG,KAAK0F,UAAU/B,KACnC3D,KAAK2F,QAAQ1G,EAAcY,gBAAiBqG,WAAWlG,KAAKwF,OAAO7C,SAASI,OAASmD,WAAWlG,KAAKwF,OAAO7C,SAASgB,OAAS,EAAIuC,WAAWlG,KAAKwF,OAAO7C,SAASgB,MAAQ0C,EAAI,EAAI,GAGpLC,UACEtG,KAAK0E,UAAU6B,cCxLnB,MAAMC,EACJzG,YAAagF,GACX/E,KAAKE,KAAOuG,MAAM1B,EAAKlD,KAAO,EAAIkD,EAAKlD,IACvC7B,KAAKG,KAAOsG,MAAM1B,EAAKjD,KAAO,IAAMiD,EAAKjD,IACzC9B,KAAK+B,MAAQ0E,MAAM1B,EAAK/C,MAAQ,EAAI+C,EAAK/C,KACzChC,KAAKiC,YAAcjC,KAAKG,KAAOH,KAAKE,KAGlC2B,UACF,OAAO7B,KAAKE,KAGV4B,UACF,OAAO9B,KAAKG,KAGV6B,WACF,OAAOhC,KAAK+B,MAGVG,iBACF,OAAOlC,KAAKiC,YAGdyE,KAAM7E,EAAKC,EAAKE,GACd,OAAOhC,KAAKE,OAAS2B,GAAO7B,KAAKG,OAAS2B,GAAO9B,KAAK+B,QAAUC,GCrBpE,MAAM2E,UAAmB7I,EAAImG,KAAKC,SACrBC,+BACT,MAAO,aAGTC,OACEpE,KAAK4G,QACL5G,KAAK+E,KAAKhE,MAAQf,KAAKmF,aAAa,SACpCnF,KAAK6G,SAAW7G,KAAK8G,OAAOjC,KAAK7E,MACjCA,KAAK+E,KAAKgC,iBAAiB/G,KAAKuE,SAAW,SAAW,QAASvE,KAAK6G,UAChE7G,KAAKuE,UAAUvE,KAAKgH,WAAW/H,EAAcY,eAAgBG,KAAKiH,eAAepC,KAAK7E,OAC1FA,KAAK8G,SAGPF,QACE5G,KAAKkH,WAAa,EAClBlH,KAAKmH,SAAQ,KACNnH,KAAKoH,aAAa,QAAQpH,KAAKqH,aAAa,MAAO,GACxDrH,KAAKsH,OAAOrI,EAAcK,YAAa,IAAIkH,EAAiBxG,KAAK+E,OACjE/E,KAAKsH,OAAOrI,EAAcW,SAAUI,KAAK+E,KAAKwC,SAAS,IAGzDvH,KAAKgH,WAAW/H,EAAcG,OAAQY,KAAKiF,SAASJ,KAAK7E,OAG3DiH,eAAgBO,GACd,MAAMC,EAAYD,IAAcxH,KAAKkH,WACjClH,KAAK0H,oBAAsBD,IAC/BzH,KAAK0H,kBAAoBD,EACrBA,EAAWzH,KAAK+F,MAAME,eAAe,kBACpCjG,KAAK+F,MAAMC,YAAY,iBAAkB,SAGhDf,SAAUlE,GACJmF,WAAWlG,KAAK+E,KAAKhE,OAASA,IAChCf,KAAK+E,KAAKhE,MAAQA,EAClBf,KAAK8G,UAITA,SACE9G,KAAKsH,OAAOrI,EAAcC,MAAOgH,WAAWlG,KAAK+E,KAAKhE,QAGxD6E,OAAQC,GACFA,EAAgBC,SAAS,aAAa9F,KAAKsH,OAAOrI,EAAcW,SAAUI,KAAK+E,KAAKwC,WACpF1B,EAAgBC,SAAS,QAAUD,EAAgBC,SAAS,QAAUD,EAAgBC,SAAS,WACjG9F,KAAKsH,OAAOrI,EAAcK,YAAa,IAAIkH,EAAiBxG,KAAK+E,OACjE/E,KAAK8G,UAITR,UACEtG,KAAK2H,oBAAoB,QAAS3H,KAAK6G,WCtD3C,MAAMe,UAAoB9J,EAAImG,KAAKC,SACtBC,+BACT,MAAO,cAGTC,OACEpE,KAAKgH,WAAW/H,EAAcI,OAAQW,KAAK8G,OAAOjC,KAAK7E,OAGzD8G,OAAQe,GACN7H,KAAK+E,KAAK+C,UAAYD,EAAKvF,KAC3BtC,KAAK+E,KAAKgB,MAAMxD,UAAYsF,EAAKtF,WCVrC,MAAMwF,UAAmBjK,EAAImG,KAAKC,SACrBC,+BACT,MAAO,aAGTC,OACE,QAAQ,GACN,KAAKpE,KAAKoF,QAAQpH,EAAcY,WAC9BoB,KAAKgH,WAAW/H,EAAcM,IAAKS,KAAK8G,OAAOjC,KAAK7E,OACpD,MAEF,KAAKA,KAAKoF,QAAQpH,EAAca,WAC9BmB,KAAKgH,WAAW/H,EAAcO,IAAKQ,KAAK8G,OAAOjC,KAAK7E,QAK1D8G,OAAQxE,GACNtC,KAAK+E,KAAK+C,UAAYxF,GCb1BxE,EAAIkK,MAAQ,CACVhE,MAAOA,EACP2C,WAAYA,EACZsB,YCTF,cAA0BtB,EACbxC,+BACT,MAAO,cAGTyC,QACE5G,KAAKkH,WAAa,EAClBlH,KAAKgH,WAAW/H,EAAcK,YAAaU,KAAKa,eAAegE,KAAK7E,OACpEA,KAAKgH,WAAW/H,EAAcC,MAAOc,KAAKiF,SAASJ,KAAK7E,OAG1DiF,SAAUlE,GACJmF,WAAWlG,KAAK+E,KAAKhE,OAASA,IAChCf,KAAK+E,KAAKhE,MAAQA,EAClBf,KAAK8G,UAITA,SACE9G,KAAKsH,OAAOrI,EAAcG,OAAQ8G,WAAWlG,KAAK+E,KAAKhE,QAGzDF,eAAgBe,GACd5B,KAAK+E,KAAKlD,IAAMD,EAAYC,IAC5B7B,KAAK+E,KAAKjD,IAAMF,EAAYE,IAC5B9B,KAAK+E,KAAK/C,KAAOJ,EAAYI,KAC7BhC,KAAK8G,SAGPlB,OAAQC,MDnBR+B,YAAaA,EACbG,WAAYA,EACZ9I,cAAeA,EACfjB,cAAeA,GEdjBF,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAcC,MAAOH,EAAIkK,MAAMhE,OAChElG,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAcS,YAAaX,EAAIkK,MAAMrB,YACtE7I,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAcU,aAAcZ,EAAIkK,MAAMC,aACvEnK,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAcW,aAAcb,EAAIkK,MAAMJ,aACvE9J,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAcY,UAAWd,EAAIkK,MAAMD,YACpEjK,EAAII,UAAUgK,SAASpK,EAAIkK,MAAMhK,cAAca,UAAWf,EAAIkK,MAAMD"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.nomodule.js b/design_system_admin/dsfr/component/range/range.nomodule.js new file mode 100644 index 0000000000000000000000000000000000000000..051d2bba8c29b449b1b77344f5f44594e767f5ae --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.nomodule.js @@ -0,0 +1,714 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ + +(function () { + 'use strict'; + + var config = { + prefix: 'fr', + namespace: 'dsfr', + organisation: '@gouvfr', + version: '1.11.0' + }; + + var api = window[config.namespace]; + + var RangeSelector = { + RANGE: api.internals.ns.selector('range'), + RANGE_SM: api.internals.ns.selector('range--sm'), + RANGE_STEP: api.internals.ns.selector('range--step'), + RANGE_DOUBLE: api.internals.ns.selector('range--double'), + RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'), + RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'), + RANGE_INPUT2: ((api.internals.ns.selector('range--double')) + " input[type=range]:nth-of-type(2)"), + RANGE_OUTPUT: api.internals.ns.selector('range__output'), + RANGE_MIN: api.internals.ns.selector('range__min'), + RANGE_MAX: api.internals.ns.selector('range__max'), + RANGE_PREFIX: api.internals.ns.attr('prefix'), + RANGE_SUFFIX: api.internals.ns.attr('suffix') + }; + + var RangeEmission = { + VALUE: api.internals.ns.emission('range', 'value'), + VALUE2: api.internals.ns.emission('range', 'value2'), + OUTPUT: api.internals.ns.emission('range', 'output'), + CONSTRAINTS: api.internals.ns.emission('range', 'constraints'), + MIN: api.internals.ns.emission('range', 'min'), + MAX: api.internals.ns.emission('range', 'max'), + STEP: api.internals.ns.emission('range', 'step'), + PREFIX: api.internals.ns.emission('range', 'prefix'), + SUFFIX: api.internals.ns.emission('range', 'suffix'), + DISABLED: api.internals.ns.emission('range', 'disabled'), + ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer') + }; + + var RangeModel = function RangeModel () { + this._width = 0; + this._min = 0; + this._max = 0; + this._value = 0; + this._thumbSize = 24; + this._innerWidth = 0; + this._prefix = ''; + this._suffix = ''; + this._background = {}; + }; + + var prototypeAccessors$1 = { width: { configurable: true },isSm: { configurable: true },textValue: { configurable: true },value: { configurable: true },outputX: { configurable: true },min: { configurable: true },textMin: { configurable: true },max: { configurable: true },textMax: { configurable: true },step: { configurable: true },output: { configurable: true },progress: { configurable: true } }; + + RangeModel.prototype.configure = function configure (model) { + if (!model) { return; } + this._prefix = model._prefix; + this._suffix = model._suffix; + this._width = model.width; + this.setConstraints(model._constraints); + this.value = model.value; + this.update(); + }; + + RangeModel.prototype.setPrefix = function setPrefix (value) { + this._prefix = value !== null ? value : ''; + }; + + RangeModel.prototype.setSuffix = function setSuffix (value) { + this._suffix = value !== null ? value : ''; + }; + + RangeModel.prototype._decorate = function _decorate (value) { + return ("" + (this._prefix) + value + (this._suffix)); + }; + + prototypeAccessors$1.width.get = function () { + return this._width; + }; + + prototypeAccessors$1.width.set = function (value) { + this._width = value; + }; + + prototypeAccessors$1.isSm.get = function () { + return this._isSm; + }; + + prototypeAccessors$1.isSm.set = function (value) { + if (this._isSm === value) { return; } + this._isSm = value; + this.setThumbSize(value ? 16 : 24); + this.update(); + }; + + RangeModel.prototype.setThumbSize = function setThumbSize (value, mult) { + if ( mult === void 0 ) mult = 1; + + this._thumbSize = value; + this._innerPadding = value * mult; + }; + + prototypeAccessors$1.textValue.get = function () { + return this._decorate(this._value); + }; + + prototypeAccessors$1.value.get = function () { + return this._value; + }; + + prototypeAccessors$1.value.set = function (value) { + this._value = value; + }; + + prototypeAccessors$1.outputX.get = function () { + return this._outputX; + }; + + RangeModel.prototype.setConstraints = function setConstraints (constraints) { + this._constraints = constraints; + this._min = constraints.min; + this._max = constraints.max; + this._step = constraints.step; + this._rangeWidth = constraints.rangeWidth; + }; + + prototypeAccessors$1.min.get = function () { + return this._min; + }; + + prototypeAccessors$1.textMin.get = function () { + return this._decorate(this._min); + }; + + prototypeAccessors$1.max.get = function () { + return this._max; + }; + + prototypeAccessors$1.textMax.get = function () { + return this._decorate(this._max); + }; + + prototypeAccessors$1.step.get = function () { + return this._step; + }; + + prototypeAccessors$1.output.get = function () { + return { + text: this.textValue, + transform: ("translateX(" + (this._translateX) + "px) translateX(-" + (this._centerPercent) + "%)") + }; + }; + + RangeModel.prototype._getRatio = function _getRatio (value) { + return (value - this._min) / this._rangeWidth; + }; + + prototypeAccessors$1.progress.get = function () { + return this._progress; + }; + + RangeModel.prototype.update = function update () { + this._update(); + }; + + RangeModel.prototype._update = function _update () { + this._innerWidth = this._width - this._innerPadding; + var ratio = this._getRatio(this._value); + this._translateX = ratio * this._width; + this._centerPercent = ratio * 100; + this._progress = { + right: (((this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)) + "px") + }; + }; + + Object.defineProperties( RangeModel.prototype, prototypeAccessors$1 ); + + var RangeModelStep = /*@__PURE__*/(function (RangeModel) { + function RangeModelStep () { + RangeModel.apply(this, arguments); + } + + if ( RangeModel ) RangeModelStep.__proto__ = RangeModel; + RangeModelStep.prototype = Object.create( RangeModel && RangeModel.prototype ); + RangeModelStep.prototype.constructor = RangeModelStep; + + var prototypeAccessors$1 = { stepWidth: { configurable: true } }; + + prototypeAccessors$1.stepWidth.get = function () { + return ((this._stepWidth.toFixed(3)) + "px"); + }; + + RangeModelStep.prototype._update = function _update () { + RangeModel.prototype._update.call(this); + var steps = this._rangeWidth / this._step; + this._stepWidth = this._innerWidth / steps; + while (this._stepWidth < 4) { this._stepWidth *= 2; } + }; + + Object.defineProperties( RangeModelStep.prototype, prototypeAccessors$1 ); + + return RangeModelStep; + }(RangeModel)); + + var RangeModelDouble = /*@__PURE__*/(function (RangeModel) { + function RangeModelDouble () { + RangeModel.apply(this, arguments); + } + + if ( RangeModel ) RangeModelDouble.__proto__ = RangeModel; + RangeModelDouble.prototype = Object.create( RangeModel && RangeModel.prototype ); + RangeModelDouble.prototype.constructor = RangeModelDouble; + + var prototypeAccessors$2 = { value2: { configurable: true },textValue: { configurable: true } }; + + prototypeAccessors$2.value2.get = function () { + return this._value; + }; + + prototypeAccessors$2.value2.set = function (value) { + if (this._value2 === value) { return; } + this._value2 = value; + this.update(); + }; + + prototypeAccessors$2.textValue.get = function () { + return ((this._decorate(this._value)) + " - " + (this._decorate(this._value2))); + }; + + RangeModelDouble.prototype.setThumbSize = function setThumbSize (value) { + RangeModel.prototype.setThumbSize.call(this, value, 2); + }; + + RangeModelDouble.prototype._update = function _update () { + RangeModel.prototype._update.call(this); + var ratio = this._getRatio((this._value + this._value2) * 0.5); + this._translateX = ratio * this._width; + this._centerPercent = ratio * 100; + var ratio1 = this._getRatio(this._value); + var ratio2 = this._getRatio(this._value2); + this._progress = { + left: (((this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)) + "px"), + right: (((this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)) + "px") + }; + }; + + Object.defineProperties( RangeModelDouble.prototype, prototypeAccessors$2 ); + + return RangeModelDouble; + }(RangeModel)); + + var RangeModelDoubleStep = /*@__PURE__*/(function (RangeModelDouble) { + function RangeModelDoubleStep () { + RangeModelDouble.apply(this, arguments); + } + + if ( RangeModelDouble ) RangeModelDoubleStep.__proto__ = RangeModelDouble; + RangeModelDoubleStep.prototype = Object.create( RangeModelDouble && RangeModelDouble.prototype ); + RangeModelDoubleStep.prototype.constructor = RangeModelDoubleStep; + + var prototypeAccessors$3 = { stepWidth: { configurable: true } }; + + prototypeAccessors$3.stepWidth.get = function () { + return ((this._stepWidth.toFixed(3)) + "px"); + }; + + RangeModelDoubleStep.prototype._update = function _update () { + RangeModelDouble.prototype._update.call(this); + var steps = this._rangeWidth / this._step; + this._stepWidth = this._innerWidth / steps; + if (this._stepWidth < 4) { this._stepWidth *= Math.ceil(4 / this._stepWidth); } + }; + + Object.defineProperties( RangeModelDoubleStep.prototype, prototypeAccessors$3 ); + + return RangeModelDoubleStep; + }(RangeModelDouble)); + + var RangeTypes = { + STEP: 'step', + DOUBLE: 'double', + DOUBLE_STEP: 'double-step', + DEFAULT: 'default' + }; + + var Range = /*@__PURE__*/(function (superclass) { + function Range () { + superclass.apply(this, arguments); + } + + if ( superclass ) Range.__proto__ = superclass; + Range.prototype = Object.create( superclass && superclass.prototype ); + Range.prototype.constructor = Range; + + var prototypeAccessors = { type: { configurable: true } }; + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'Range'; + }; + + Range.prototype.init = function init () { + this._retrieveType(); + this._retrieveSize(); + if (this.isLegacy) { + this.isResizing = true; + this.isMouseMoving = true; + } else { + this._observer = new ResizeObserver(this.resize.bind(this)); + this._observer.observe(this.node); + } + + this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this)); + this.addAscent(RangeEmission.VALUE, this.setValue.bind(this)); + this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this)); + if (this.getAttribute(RangeSelector.RANGE_PREFIX)) { this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX)); } + if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) { this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX)); } + this.update(); + }; + + Range.prototype._retrieveType = function _retrieveType () { + switch (true) { + case this.matches(RangeSelector.RANGE_DOUBLE_STEP): + this.type = RangeTypes.DOUBLE; + break; + + case this.matches(RangeSelector.RANGE_DOUBLE): + this.type = RangeTypes.DOUBLE; + break; + + case this.matches(RangeSelector.RANGE_STEP): + this.type = RangeTypes.STEP; + break; + + default: + this.type = RangeTypes.DEFAULT; + } + }; + + prototypeAccessors.type.set = function (value) { + if (this._type === value) { return; } + this._type = value; + + var oldModel = this._model; + + switch (this._type) { + case RangeTypes.DOUBLE_STEP: + this._model = new RangeModelDoubleStep(); + break; + + case RangeTypes.DOUBLE: + this._model = new RangeModelDouble(); + break; + + case RangeTypes.STEP: + this._model = new RangeModelStep(); + break; + + default: + this._model = new RangeModel(); + } + + this._model.configure(oldModel); + }; + + prototypeAccessors.type.get = function () { + return this._type; + }; + + Range.prototype._retrieveSize = function _retrieveSize () { + this._model.isSm = this.matches(RangeSelector.RANGE_SM); + }; + + Range.prototype.resize = function resize () { + this._retrieveWidth(); + this.update(); + }; + + Range.prototype._retrieveWidth = function _retrieveWidth () { + this._model.width = this.getRect().width; + }; + + Range.prototype.setValue = function setValue (value) { + this._model.value = value; + switch (this._type) { + case RangeTypes.DOUBLE_STEP: + case RangeTypes.DOUBLE: + this.descend(RangeEmission.VALUE, value); + break; + } + this.update(); + }; + + Range.prototype.setValue2 = function setValue2 (value) { + this._model.value2 = value; + this.descend(RangeEmission.VALUE2, value); + this.update(); + }; + + Range.prototype.setConstraints = function setConstraints (constraints) { + this._model.setConstraints(constraints); + this.update(); + this.descend(RangeEmission.CONSTRAINTS, constraints); + }; + + Range.prototype.setPrefix = function setPrefix (value) { + this._model.setPrefix(value); + this.update(); + }; + + Range.prototype.setSuffix = function setSuffix (value) { + this._model.setSuffix(value); + this.update(); + }; + + Range.prototype.mutate = function mutate (attributesNames) { + switch (true) { + case attributesNames.includes('class'): + this._retrieveType(); + this._retrieveSize(); + break; + + case attributesNames.includes(RangeSelector.RANGE_PREFIX): + case attributesNames.includes(RangeSelector.RANGE_SUFFIX): + this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX)); + this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX)); + this.update(); + break; + } + }; + + Range.prototype.update = function update () { + this._model.update(); + this.descend(RangeEmission.OUTPUT, this._model.output); + this.descend(RangeEmission.MIN, this._model.textMin); + this.descend(RangeEmission.MAX, this._model.textMax); + var progress = this._model.progress; + if (progress.left) { + this.style.setProperty('--progress-left', progress.left); + } else { + this.style.removeProperty('--progress-left'); + } + if (progress.right) { + this.style.setProperty('--progress-right', progress.right); + if (this.isLegacy) { + if (progress.left) { + this.style.setProperty('background-position-x', progress.left); + this.style.setProperty('background-size', ((parseFloat(progress.right) - parseFloat(progress.left)) + "px " + (this._model.isSm ? '8px' : '12px'))); + } + } + } else { + this.style.removeProperty('--progress-right'); + if (this.isLegacy) { + this.style.removeProperty('background-size'); + this.style.removeProperty('background-position-x'); + } + } + if (this._model.stepWidth) { this.style.setProperty('--step-width', this._model.stepWidth); } + else { this.style.removeProperty('--step-width'); } + }; + + Range.prototype.mouseMove = function mouseMove (point) { + if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) { return; } + var x = point.x - this.getRect().left; + this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1); + }; + + Range.prototype.dispose = function dispose () { + this._observer.disconnect(); + }; + + Object.defineProperties( Range.prototype, prototypeAccessors ); + Object.defineProperties( Range, staticAccessors ); + + return Range; + }(api.core.Instance)); + + var RangeConstraints = function RangeConstraints (node) { + this._min = isNaN(node.min) ? 0 : node.min; + this._max = isNaN(node.max) ? 100 : node.max; + this._step = isNaN(node.step) ? 1 : node.step; + this._rangeWidth = this._max - this._min; + }; + + var prototypeAccessors = { min: { configurable: true },max: { configurable: true },step: { configurable: true },rangeWidth: { configurable: true } }; + + prototypeAccessors.min.get = function () { + return this._min; + }; + + prototypeAccessors.max.get = function () { + return this._max; + }; + + prototypeAccessors.step.get = function () { + return this._step; + }; + + prototypeAccessors.rangeWidth.get = function () { + return this._rangeWidth; + }; + + RangeConstraints.prototype.test = function test (min, max, step) { + return this._min === min && this._max === max && this._step === step; + }; + + Object.defineProperties( RangeConstraints.prototype, prototypeAccessors ); + + var RangeInput = /*@__PURE__*/(function (superclass) { + function RangeInput () { + superclass.apply(this, arguments); + } + + if ( superclass ) RangeInput.__proto__ = superclass; + RangeInput.prototype = Object.create( superclass && superclass.prototype ); + RangeInput.prototype.constructor = RangeInput; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'RangeInput'; + }; + + RangeInput.prototype.init = function init () { + this._init(); + this.node.value = this.getAttribute('value'); + this.changing = this.change.bind(this); + this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing); + if (this.isLegacy) { this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this)); } + this.change(); + }; + + RangeInput.prototype._init = function _init () { + var this$1$1 = this; + + this._pointerId = 1; + this.request(function () { + if (!this$1$1.hasAttribute('min')) { this$1$1.setAttribute('min', 0); } + this$1$1.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this$1$1.node)); + this$1$1.ascend(RangeEmission.DISABLED, this$1$1.node.disabled); + }); + + this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this)); + }; + + RangeInput.prototype._enablePointer = function _enablePointer (pointerId) { + var isEnabled = pointerId === this._pointerId; + if (this._isPointerEnabled === isEnabled) { return; } + this._isPointerEnabled = isEnabled; + if (isEnabled) { this.style.removeProperty('pointer-events'); } + else { this.style.setProperty('pointer-events', 'none'); } + }; + + RangeInput.prototype.setValue = function setValue (value) { + if (parseFloat(this.node.value) > value) { + this.node.value = value; + this.change(); + } + }; + + RangeInput.prototype.change = function change () { + this.ascend(RangeEmission.VALUE, parseFloat(this.node.value)); + }; + + RangeInput.prototype.mutate = function mutate (attributesNames) { + if (attributesNames.includes('disabled')) { this.ascend(RangeEmission.DISABLED, this.node.disabled); } + if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) { + this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node)); + this.change(); + } + }; + + RangeInput.prototype.dispose = function dispose () { + this.removeEventListener('input', this.changing); + }; + + Object.defineProperties( RangeInput, staticAccessors ); + + return RangeInput; + }(api.core.Instance)); + + var RangeInput2 = /*@__PURE__*/(function (RangeInput) { + function RangeInput2 () { + RangeInput.apply(this, arguments); + } + + if ( RangeInput ) RangeInput2.__proto__ = RangeInput; + RangeInput2.prototype = Object.create( RangeInput && RangeInput.prototype ); + RangeInput2.prototype.constructor = RangeInput2; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'RangeInput2'; + }; + + RangeInput2.prototype._init = function _init () { + this._pointerId = 2; + this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this)); + this.addDescent(RangeEmission.VALUE, this.setValue.bind(this)); + }; + + RangeInput2.prototype.setValue = function setValue (value) { + if (parseFloat(this.node.value) < value) { + this.node.value = value; + this.change(); + } + }; + + RangeInput2.prototype.change = function change () { + this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value)); + }; + + RangeInput2.prototype.setConstraints = function setConstraints (constraints) { + this.node.min = constraints.min; + this.node.max = constraints.max; + this.node.step = constraints.step; + this.change(); + }; + + RangeInput2.prototype.mutate = function mutate (attributesNames) {}; + + Object.defineProperties( RangeInput2, staticAccessors ); + + return RangeInput2; + }(RangeInput)); + + var RangeOutput = /*@__PURE__*/(function (superclass) { + function RangeOutput () { + superclass.apply(this, arguments); + } + + if ( superclass ) RangeOutput.__proto__ = superclass; + RangeOutput.prototype = Object.create( superclass && superclass.prototype ); + RangeOutput.prototype.constructor = RangeOutput; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'RangeOutput'; + }; + + RangeOutput.prototype.init = function init () { + this.addDescent(RangeEmission.OUTPUT, this.change.bind(this)); + }; + + RangeOutput.prototype.change = function change (data) { + this.node.innerText = data.text; + this.node.style.transform = data.transform; + }; + + Object.defineProperties( RangeOutput, staticAccessors ); + + return RangeOutput; + }(api.core.Instance)); + + var RangeLimit = /*@__PURE__*/(function (superclass) { + function RangeLimit () { + superclass.apply(this, arguments); + } + + if ( superclass ) RangeLimit.__proto__ = superclass; + RangeLimit.prototype = Object.create( superclass && superclass.prototype ); + RangeLimit.prototype.constructor = RangeLimit; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'RangeLimit'; + }; + + RangeLimit.prototype.init = function init () { + switch (true) { + case this.matches(RangeSelector.RANGE_MIN): + this.addDescent(RangeEmission.MIN, this.change.bind(this)); + break; + + case this.matches(RangeSelector.RANGE_MAX): + this.addDescent(RangeEmission.MAX, this.change.bind(this)); + break; + } + }; + + RangeLimit.prototype.change = function change (text) { + this.node.innerText = text; + }; + + Object.defineProperties( RangeLimit, staticAccessors ); + + return RangeLimit; + }(api.core.Instance)); + + api.range = { + Range: Range, + RangeInput: RangeInput, + RangeInput2: RangeInput2, + RangeOutput: RangeOutput, + RangeLimit: RangeLimit, + RangeEmission: RangeEmission, + RangeSelector: RangeSelector + }; + + api.internals.register(api.range.RangeSelector.RANGE, api.range.Range); + api.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput); + api.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2); + api.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput); + api.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit); + api.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit); + +})(); +//# sourceMappingURL=range.nomodule.js.map diff --git a/design_system_admin/dsfr/component/range/range.nomodule.js.map b/design_system_admin/dsfr/component/range/range.nomodule.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a570e18dfddff8b09f0fb2e5d858e621c16afb58 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.nomodule.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.nomodule.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/range/script/range/range-selector.js","../../../src/component/range/script/range/range-emission.js","../../../src/component/range/script/range/range-model.js","../../../src/component/range/script/range/range.js","../../../src/component/range/script/range/range-constraints.js","../../../src/component/range/script/range/range-input.js","../../../src/component/range/script/range/range-input2.js","../../../src/component/range/script/range/range-output.js","../../../src/component/range/script/range/range-limit.js","../../../src/component/range/index.js","../../../src/component/range/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const RangeSelector = {\n RANGE: api.internals.ns.selector('range'),\n RANGE_SM: api.internals.ns.selector('range--sm'),\n RANGE_STEP: api.internals.ns.selector('range--step'),\n RANGE_DOUBLE: api.internals.ns.selector('range--double'),\n RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'),\n RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'),\n RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`,\n RANGE_OUTPUT: api.internals.ns.selector('range__output'),\n RANGE_MIN: api.internals.ns.selector('range__min'),\n RANGE_MAX: api.internals.ns.selector('range__max'),\n RANGE_PREFIX: api.internals.ns.attr('prefix'),\n RANGE_SUFFIX: api.internals.ns.attr('suffix')\n};\n","import api from '../../api.js';\n\nexport const RangeEmission = {\n VALUE: api.internals.ns.emission('range', 'value'),\n VALUE2: api.internals.ns.emission('range', 'value2'),\n OUTPUT: api.internals.ns.emission('range', 'output'),\n CONSTRAINTS: api.internals.ns.emission('range', 'constraints'),\n MIN: api.internals.ns.emission('range', 'min'),\n MAX: api.internals.ns.emission('range', 'max'),\n STEP: api.internals.ns.emission('range', 'step'),\n PREFIX: api.internals.ns.emission('range', 'prefix'),\n SUFFIX: api.internals.ns.emission('range', 'suffix'),\n DISABLED: api.internals.ns.emission('range', 'disabled'),\n ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer')\n};\n","class RangeModel {\n constructor () {\n this._width = 0;\n this._min = 0;\n this._max = 0;\n this._value = 0;\n this._thumbSize = 24;\n this._innerWidth = 0;\n this._prefix = '';\n this._suffix = '';\n this._background = {};\n }\n\n configure (model) {\n if (!model) return;\n this._prefix = model._prefix;\n this._suffix = model._suffix;\n this._width = model.width;\n this.setConstraints(model._constraints);\n this.value = model.value;\n this.update();\n }\n\n setPrefix (value) {\n this._prefix = value !== null ? value : '';\n }\n\n setSuffix (value) {\n this._suffix = value !== null ? value : '';\n }\n\n _decorate (value) {\n return `${this._prefix}${value}${this._suffix}`;\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get isSm () {\n return this._isSm;\n }\n\n set isSm (value) {\n if (this._isSm === value) return;\n this._isSm = value;\n this.setThumbSize(value ? 16 : 24);\n this.update();\n }\n\n setThumbSize (value, mult = 1) {\n this._thumbSize = value;\n this._innerPadding = value * mult;\n }\n\n get textValue () {\n return this._decorate(this._value);\n }\n\n get value () {\n return this._value;\n }\n\n set value (value) {\n this._value = value;\n }\n\n get outputX () {\n return this._outputX;\n }\n\n setConstraints (constraints) {\n this._constraints = constraints;\n this._min = constraints.min;\n this._max = constraints.max;\n this._step = constraints.step;\n this._rangeWidth = constraints.rangeWidth;\n }\n\n get min () {\n return this._min;\n }\n\n get textMin () {\n return this._decorate(this._min);\n }\n\n get max () {\n return this._max;\n }\n\n get textMax () {\n return this._decorate(this._max);\n }\n\n get step () {\n return this._step;\n }\n\n get output () {\n return {\n text: this.textValue,\n transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`\n };\n }\n\n _getRatio (value) {\n return (value - this._min) / this._rangeWidth;\n }\n\n get progress () {\n return this._progress;\n }\n\n update () {\n this._update();\n }\n\n _update () {\n this._innerWidth = this._width - this._innerPadding;\n const ratio = this._getRatio(this._value);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n this._progress = {\n right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelStep extends RangeModel {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n while (this._stepWidth < 4) this._stepWidth *= 2;\n }\n}\n\nclass RangeModelDouble extends RangeModel {\n get value2 () {\n return this._value;\n }\n\n set value2 (value) {\n if (this._value2 === value) return;\n this._value2 = value;\n this.update();\n }\n\n get textValue () {\n return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;\n }\n\n setThumbSize (value) {\n super.setThumbSize(value, 2);\n }\n\n _update () {\n super._update();\n const ratio = this._getRatio((this._value + this._value2) * 0.5);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n const ratio1 = this._getRatio(this._value);\n const ratio2 = this._getRatio(this._value2);\n this._progress = {\n left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`,\n right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelDoubleStep extends RangeModelDouble {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth);\n }\n}\n\nexport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\nimport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep } from './range-model';\n\nconst RangeTypes = {\n STEP: 'step',\n DOUBLE: 'double',\n DOUBLE_STEP: 'double-step',\n DEFAULT: 'default'\n};\n\nclass Range extends api.core.Instance {\n static get instanceClassName () {\n return 'Range';\n }\n\n init () {\n this._retrieveType();\n this._retrieveSize();\n if (this.isLegacy) {\n this.isResizing = true;\n this.isMouseMoving = true;\n } else {\n this._observer = new ResizeObserver(this.resize.bind(this));\n this._observer.observe(this.node);\n }\n\n this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addAscent(RangeEmission.VALUE, this.setValue.bind(this));\n this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this));\n if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n }\n\n _retrieveType () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_DOUBLE_STEP):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_DOUBLE):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_STEP):\n this.type = RangeTypes.STEP;\n break;\n\n default:\n this.type = RangeTypes.DEFAULT;\n }\n }\n\n set type (value) {\n if (this._type === value) return;\n this._type = value;\n\n const oldModel = this._model;\n\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n this._model = new RangeModelDoubleStep();\n break;\n\n case RangeTypes.DOUBLE:\n this._model = new RangeModelDouble();\n break;\n\n case RangeTypes.STEP:\n this._model = new RangeModelStep();\n break;\n\n default:\n this._model = new RangeModel();\n }\n\n this._model.configure(oldModel);\n }\n\n get type () {\n return this._type;\n }\n\n _retrieveSize () {\n this._model.isSm = this.matches(RangeSelector.RANGE_SM);\n }\n\n resize () {\n this._retrieveWidth();\n this.update();\n }\n\n _retrieveWidth () {\n this._model.width = this.getRect().width;\n }\n\n setValue (value) {\n this._model.value = value;\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n case RangeTypes.DOUBLE:\n this.descend(RangeEmission.VALUE, value);\n break;\n }\n this.update();\n }\n\n setValue2 (value) {\n this._model.value2 = value;\n this.descend(RangeEmission.VALUE2, value);\n this.update();\n }\n\n setConstraints (constraints) {\n this._model.setConstraints(constraints);\n this.update();\n this.descend(RangeEmission.CONSTRAINTS, constraints);\n }\n\n setPrefix (value) {\n this._model.setPrefix(value);\n this.update();\n }\n\n setSuffix (value) {\n this._model.setSuffix(value);\n this.update();\n }\n\n mutate (attributesNames) {\n switch (true) {\n case attributesNames.includes('class'):\n this._retrieveType();\n this._retrieveSize();\n break;\n\n case attributesNames.includes(RangeSelector.RANGE_PREFIX):\n case attributesNames.includes(RangeSelector.RANGE_SUFFIX):\n this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n break;\n }\n }\n\n update () {\n this._model.update();\n this.descend(RangeEmission.OUTPUT, this._model.output);\n this.descend(RangeEmission.MIN, this._model.textMin);\n this.descend(RangeEmission.MAX, this._model.textMax);\n const progress = this._model.progress;\n if (progress.left) {\n this.style.setProperty('--progress-left', progress.left);\n } else {\n this.style.removeProperty('--progress-left');\n }\n if (progress.right) {\n this.style.setProperty('--progress-right', progress.right);\n if (this.isLegacy) {\n if (progress.left) {\n this.style.setProperty('background-position-x', progress.left);\n this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`);\n }\n }\n } else {\n this.style.removeProperty('--progress-right');\n if (this.isLegacy) {\n this.style.removeProperty('background-size');\n this.style.removeProperty('background-position-x');\n }\n }\n if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth);\n else this.style.removeProperty('--step-width');\n }\n\n mouseMove (point) {\n if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return;\n const x = point.x - this.getRect().left;\n this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1);\n }\n\n dispose () {\n this._observer.disconnect();\n }\n}\n\nexport { Range };\n","class RangeConstraints {\n constructor (node) {\n this._min = isNaN(node.min) ? 0 : node.min;\n this._max = isNaN(node.max) ? 100 : node.max;\n this._step = isNaN(node.step) ? 1 : node.step;\n this._rangeWidth = this._max - this._min;\n }\n\n get min () {\n return this._min;\n }\n\n get max () {\n return this._max;\n }\n\n get step () {\n return this._step;\n }\n\n get rangeWidth () {\n return this._rangeWidth;\n }\n\n test (min, max, step) {\n return this._min === min && this._max === max && this._step === step;\n }\n}\n\nexport { RangeConstraints };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeConstraints } from './range-constraints';\n\nclass RangeInput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeInput';\n }\n\n init () {\n this._init();\n this.node.value = this.getAttribute('value');\n this.changing = this.change.bind(this);\n this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing);\n if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this));\n this.change();\n }\n\n _init () {\n this._pointerId = 1;\n this.request(() => {\n if (!this.hasAttribute('min')) this.setAttribute('min', 0);\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.ascend(RangeEmission.DISABLED, this.node.disabled);\n });\n\n this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this));\n }\n\n _enablePointer (pointerId) {\n const isEnabled = pointerId === this._pointerId;\n if (this._isPointerEnabled === isEnabled) return;\n this._isPointerEnabled = isEnabled;\n if (isEnabled) this.style.removeProperty('pointer-events');\n else this.style.setProperty('pointer-events', 'none');\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) > value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE, parseFloat(this.node.value));\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled);\n if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) {\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.change();\n }\n }\n\n dispose () {\n this.removeEventListener('input', this.changing);\n }\n}\n\nexport { RangeInput };\n","import { RangeInput } from './range-input.js';\nimport { RangeEmission } from './range-emission';\n\nclass RangeInput2 extends RangeInput {\n static get instanceClassName () {\n return 'RangeInput2';\n }\n\n _init () {\n this._pointerId = 2;\n this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addDescent(RangeEmission.VALUE, this.setValue.bind(this));\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) < value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value));\n }\n\n setConstraints (constraints) {\n this.node.min = constraints.min;\n this.node.max = constraints.max;\n this.node.step = constraints.step;\n this.change();\n }\n\n mutate (attributesNames) {}\n}\n\nexport { RangeInput2 };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\n\nclass RangeOutput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeOutput';\n }\n\n init () {\n this.addDescent(RangeEmission.OUTPUT, this.change.bind(this));\n }\n\n change (data) {\n this.node.innerText = data.text;\n this.node.style.transform = data.transform;\n }\n}\n\nexport { RangeOutput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\n\nclass RangeLimit extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeLimit';\n }\n\n init () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_MIN):\n this.addDescent(RangeEmission.MIN, this.change.bind(this));\n break;\n\n case this.matches(RangeSelector.RANGE_MAX):\n this.addDescent(RangeEmission.MAX, this.change.bind(this));\n break;\n }\n }\n\n change (text) {\n this.node.innerText = text;\n }\n}\n\nexport { RangeLimit };\n","import api from './api.js';\nimport { RangeSelector } from './script/range/range-selector.js';\nimport { RangeEmission } from './script/range/range-emission.js';\nimport { Range } from './script/range/range.js';\nimport { RangeInput } from './script/range/range-input.js';\nimport { RangeInput2 } from './script/range/range-input2.js';\nimport { RangeOutput } from './script/range/range-output.js';\nimport { RangeLimit } from './script/range/range-limit.js';\n\napi.range = {\n Range: Range,\n RangeInput: RangeInput,\n RangeInput2: RangeInput2,\n RangeOutput: RangeOutput,\n RangeLimit: RangeLimit,\n RangeEmission: RangeEmission,\n RangeSelector: RangeSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.range.RangeSelector.RANGE, api.range.Range);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2);\napi.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput);\napi.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit);\napi.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit);\n\nexport default api;\n"],"names":["const","prototypeAccessors","super","this"],"mappings":";;;;;EAAAA,IAAM,MAAM,GAAG;EACf,EAAE,MAAM,EAAE,IAAI;EACd,EAAE,SAAS,EAAE,MAAM;EACnB,EAAE,YAAY,EAAE,SAAS;EACzB,EAAE,OAAO,EAAE,QAAQ;EACnB,CAAC;;ECJDA,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ECC7BA,IAAM,aAAa,GAAG;EAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;EAC3C,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;EAClD,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;EACtD,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;EAC1D,EAAE,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;EAC1G,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;EAClF,EAAE,YAAY,IAAK,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,yCAAoC;EAChG,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;EAC1D,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;EACpD,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;EACpD,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;EAC/C,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;EAC/C,CAAC;;ECbMA,IAAM,aAAa,GAAG;EAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;EACpD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;EACtD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;EACtD,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;EAChE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;EAChD,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;EAChD,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;EAClD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;EACtD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;EACtD,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;EAC1D,EAAE,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;EACtE,CAAC;;ECdD,IAAM,UAAU,GACd,mBAAW,IAAI;EACjB,EAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;EACpB,EAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;EAClB,EAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;EAClB,EAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;EACpB,EAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,EAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;EACzB,EAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;EACtB,EAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;EACtB,EAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;EACxB;;iZAAC;AACH;uBACE,gCAAW,KAAK,EAAE;EACpB,EAAI,IAAI,CAAC,KAAK,IAAE,SAAO;EACvB,EAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;EACjC,EAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;EACjC,EAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;EAC9B,EAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;EAC5C,EAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;EAC7B,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAChB,EAAC;AACH;uBACE,gCAAW,KAAK,EAAE;EACpB,EAAI,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;EAC7C,EAAC;AACH;uBACE,gCAAW,KAAK,EAAE;EACpB,EAAI,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;EAC7C,EAAC;AACH;uBACE,gCAAW,KAAK,EAAE;EACpB,EAAI,cAAU,IAAI,CAAC,WAAU,SAAQ,IAAI,CAAC,UAAU;EAClD,EAAC;AACH;AACEC,uBAAI,wBAAS;EACf,EAAI,OAAO,IAAI,CAAC,MAAM,CAAC;EACrB,EAAC;AACH;AACEA,uBAAI,sBAAO,KAAK,EAAE;EACpB,EAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACtB,EAAC;AACH;AACEA,uBAAI,uBAAQ;EACd,EAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACpB,EAAC;AACH;AACEA,uBAAI,qBAAM,KAAK,EAAE;EACnB,EAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAE,SAAO;EACrC,EAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACvB,EAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;EACvC,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAChB,EAAC;AACH;uBACE,sCAAc,KAAK,EAAE,IAAQ,EAAE;iCAAN,GAAG;AAAI;EAClC,EAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EAC5B,EAAI,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;EACpC,EAAC;AACH;AACEA,uBAAI,4BAAa;EACnB,EAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACrC,EAAC;AACH;AACEA,uBAAI,wBAAS;EACf,EAAI,OAAO,IAAI,CAAC,MAAM,CAAC;EACrB,EAAC;AACH;AACEA,uBAAI,sBAAO,KAAK,EAAE;EACpB,EAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACtB,EAAC;AACH;AACEA,uBAAI,0BAAW;EACjB,EAAI,OAAO,IAAI,CAAC,QAAQ,CAAC;EACvB,EAAC;AACH;uBACE,0CAAgB,WAAW,EAAE;EAC/B,EAAI,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;EACpC,EAAI,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC;EAChC,EAAI,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC;EAChC,EAAI,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;EAClC,EAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;EAC5C,EAAC;AACH;AACEA,uBAAI,sBAAO;EACb,EAAI,OAAO,IAAI,CAAC,IAAI,CAAC;EACnB,EAAC;AACH;AACEA,uBAAI,0BAAW;EACjB,EAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACnC,EAAC;AACH;AACEA,uBAAI,sBAAO;EACb,EAAI,OAAO,IAAI,CAAC,IAAI,CAAC;EACnB,EAAC;AACH;AACEA,uBAAI,0BAAW;EACjB,EAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACnC,EAAC;AACH;AACEA,uBAAI,uBAAQ;EACd,EAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACpB,EAAC;AACH;AACEA,uBAAI,yBAAU;EAChB,EAAI,OAAO;EACX,IAAM,IAAI,EAAE,IAAI,CAAC,SAAS;EAC1B,IAAM,SAAS,oBAAgB,IAAI,CAAC,YAAW,yBAAmB,IAAI,CAAC,eAAc,QAAI;EACzF,GAAK,CAAC;EACJ,EAAC;AACH;uBACE,gCAAW,KAAK,EAAE;EACpB,EAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;EAChD,EAAC;AACH;AACEA,uBAAI,2BAAY;EAClB,EAAI,OAAO,IAAI,CAAC,SAAS,CAAC;EACxB,EAAC;AACH;uBACE,4BAAU;EACZ,EAAI,IAAI,CAAC,OAAO,EAAE,CAAC;EACjB,EAAC;AACH;uBACE,8BAAW;EACb,EAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;EACxD,EAAID,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC9C,EAAI,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;EAC3C,EAAI,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;EACtC,EAAI,IAAI,CAAC,SAAS,GAAG;EACrB,IAAM,KAAK,IAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,UAAK;EACpF,GAAK,CAAC;EACJ;;wEACD;AACD;EACA,IAAM,cAAc;;;;;;;;;;;IAClB,qBAAI,4BAAa;EACnB,IAAI,SAAU,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAM;EAC7C,IAAG;AACH;EACA,2BAAE,8BAAW;EACb,IAAIE,oBAAK,CAAC,YAAO,KAAC,CAAC,CAAC;EACpB,IAAIF,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;EAChD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;EAC/C,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,IAAE,IAAI,CAAC,UAAU,IAAI,CAAC,GAAC;EACrD;;;;;IAV6B,aAW5B;AACD;EACA,IAAM,gBAAgB;;;;;;;;;;;IACpB,qBAAI,yBAAU;EAChB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;EACvB,IAAG;AACH;EACA,EAAE,qBAAI,uBAAQ,KAAK,EAAE;EACrB,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAE,SAAO;EACvC,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,EAAE,qBAAI,4BAAa;EACnB,IAAI,SAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,cAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI;EAC9E,IAAG;AACH;EACA,6BAAE,sCAAc,KAAK,EAAE;EACvB,IAAIE,oBAAK,CAAC,iBAAY,OAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EACjC,IAAG;AACH;EACA,6BAAE,8BAAW;EACb,IAAIA,oBAAK,CAAC,YAAO,KAAC,CAAC,CAAC;EACpB,IAAIF,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;EACrE,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;EAC3C,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;EACtC,IAAIA,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC/C,IAAIA,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChD,IAAI,IAAI,CAAC,SAAS,GAAG;EACrB,MAAM,IAAI,IAAK,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,UAAK;EACrF,MAAM,KAAK,IAAK,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,UAAK;EACtF,KAAK,CAAC;EACN;;;;;IA9B+B,aA+B9B;AACD;EACA,IAAM,oBAAoB;;;;;;;;;;;IACxB,qBAAI,4BAAa;EACnB,IAAI,SAAU,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAM;EAC7C,IAAG;AACH;EACA,iCAAE,8BAAW;EACb,IAAIE,0BAAK,CAAC,YAAO,KAAC,CAAC,CAAC;EACpB,IAAIF,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;EAChD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;EAC/C,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAC;EAC/E;;;;;IAVmC;;EC9KnCA,IAAM,UAAU,GAAG;EACnB,EAAE,IAAI,EAAE,MAAM;EACd,EAAE,MAAM,EAAE,QAAQ;EAClB,EAAE,WAAW,EAAE,aAAa;EAC5B,EAAE,OAAO,EAAE,SAAS;EACpB,CAAC,CAAC;AACF;EACA,IAAM,KAAK;;;;;;;;;;;;IACT,gBAAW,oCAAqB;EAClC,IAAI,OAAO,OAAO,CAAC;EACnB,IAAG;AACH;EACA,kBAAE,wBAAQ;EACV,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;EACzB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;EACvB,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EAC7B,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAChC,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAClE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACxC,KAAK;AACL;EACA,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC9E,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAClE,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACpE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAC;EACrH,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAC;EACrH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,0CAAiB;EACnB,IAAI,QAAQ,IAAI;EAChB,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC;EACxD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;EACtC,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;EACnD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;EACtC,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;EACjD,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;EACpC,QAAQ,MAAM;AACd;EACA,MAAM;EACN,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;EACvC,KAAK;EACL,IAAG;AACH;EACA,EAAE,mBAAI,qBAAM,KAAK,EAAE;EACnB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAE,SAAO;EACrC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB;EACA,IAAIA,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;AACjC;EACA,IAAI,QAAQ,IAAI,CAAC,KAAK;EACtB,MAAM,KAAK,UAAU,CAAC,WAAW;EACjC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;EACjD,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,UAAU,CAAC,MAAM;EAC5B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;EAC7C,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,UAAU,CAAC,IAAI;EAC1B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;EAC3C,QAAQ,MAAM;AACd;EACA,MAAM;EACN,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;EACvC,KAAK;AACL;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;EACpC,IAAG;AACH;EACA,EAAE,mBAAI,uBAAQ;EACd,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACtB,IAAG;AACH;EACA,kBAAE,0CAAiB;EACnB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EAC5D,IAAG;AACH;EACA,kBAAE,4BAAU;EACZ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;EAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,4CAAkB;EACpB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;EAC7C,IAAG;AACH;EACA,kBAAE,8BAAU,KAAK,EAAE;EACnB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;EAC9B,IAAI,QAAQ,IAAI,CAAC,KAAK;EACtB,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC;EAClC,MAAM,KAAK,UAAU,CAAC,MAAM;EAC5B,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACjD,QAAQ,MAAM;EACd,KAAK;EACL,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,gCAAW,KAAK,EAAE;EACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;EAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;EAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,0CAAgB,WAAW,EAAE;EAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;EAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;EACzD,IAAG;AACH;EACA,kBAAE,gCAAW,KAAK,EAAE;EACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,gCAAW,KAAK,EAAE;EACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,kBAAE,0BAAQ,eAAe,EAAE;EAC3B,IAAI,QAAQ,IAAI;EAChB,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;EAC5C,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;EAC7B,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;EAC7B,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;EAChE,MAAM,KAAK,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;EAC/D,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;EAC7E,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;EAC7E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;EACtB,QAAQ,MAAM;EACd,KAAK;EACL,IAAG;AACH;EACA,kBAAE,4BAAU;EACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EACzD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EACzD,IAAIA,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;EAC1C,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;EACvB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC/D,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;EACnD,KAAK;EACL,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;EACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;EACjE,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EACzB,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;EAC3B,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;EACzE,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,IAAK,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,cAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;EACxJ,SAAS;EACT,OAAO;EACP,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;EACpD,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EACzB,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;EACrD,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;EAC3D,OAAO;EACP,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAC;EAC7F,WAAS,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAC;EACnD,IAAG;AACH;EACA,kBAAE,gCAAW,KAAK,EAAE;EACpB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,WAAW,IAAE,SAAO;EAC1F,IAAIA,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;EAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACzL,IAAG;AACH;EACA,kBAAE,8BAAW;EACb,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;EAChC;;;;;;IA7KoB,GAAG,CAAC,IAAI,CAAC;;ECZ7B,IAAM,gBAAgB,GACpB,yBAAW,EAAE,IAAI,EAAE;EACrB,EAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;EAC/C,EAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;EACjD,EAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;EAClD,EAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EAC3C;;uJAAC;AACH;EACE,mBAAI,sBAAO;EACb,EAAI,OAAO,IAAI,CAAC,IAAI,CAAC;EACnB,EAAC;AACH;EACE,mBAAI,sBAAO;EACb,EAAI,OAAO,IAAI,CAAC,IAAI,CAAC;EACnB,EAAC;AACH;EACE,mBAAI,uBAAQ;EACd,EAAI,OAAO,IAAI,CAAC,KAAK,CAAC;EACpB,EAAC;AACH;EACE,mBAAI,6BAAc;EACpB,EAAI,OAAO,IAAI,CAAC,WAAW,CAAC;EAC1B,EAAC;AACH;6BACE,sBAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;EACxB,EAAI,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;EACvE;;;;ECtBF,IAAM,UAAU;;;;;;;;;;;IACd,gBAAW,oCAAqB;EAClC,IAAI,OAAO,YAAY,CAAC;EACxB,IAAG;AACH;EACA,uBAAE,wBAAQ;EACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;EACjB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;EACjD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;EAClF,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAC;EACrG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,uBAAE,0BAAS;;AAAC;EACZ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;EACxB,IAAI,IAAI,CAAC,OAAO,aAAO;EACvB,MAAM,IAAI,CAACG,QAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAEA,QAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAAC;EACjE,MAAMA,QAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAACA,QAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC9E,MAAMA,QAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAEA,QAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC9D,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACpE,IAAG;AACH;EACA,uBAAE,0CAAgB,SAAS,EAAE;EAC7B,IAAIH,IAAM,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC;EACpD,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAE,SAAO;EACrD,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;EACvC,IAAI,IAAI,SAAS,IAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAC;EAC/D,WAAS,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAC;EAC1D,IAAG;AACH;EACA,uBAAE,8BAAU,KAAK,EAAE;EACnB,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;EAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;EACpB,KAAK;EACL,IAAG;AACH;EACA,uBAAE,4BAAU;EACZ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAClE,IAAG;AACH;EACA,uBAAE,0BAAQ,eAAe,EAAE;EAC3B,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAC;EACtG,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAChH,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC9E,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;EACpB,KAAK;EACL,IAAG;AACH;EACA,uBAAE,8BAAW;EACb,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;EACrD;;;;;IAtDyB,GAAG,CAAC,IAAI,CAAC;;ECDlC,IAAM,WAAW;;;;;;;;;;;IACf,gBAAW,oCAAqB;EAClC,IAAI,OAAO,aAAa,CAAC;EACzB,IAAG;AACH;EACA,wBAAE,0BAAS;EACX,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;EACxB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACnE,IAAG;AACH;EACA,wBAAE,8BAAU,KAAK,EAAE;EACnB,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;EAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;EACpB,KAAK;EACL,IAAG;AACH;EACA,wBAAE,4BAAU;EACZ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EACnE,IAAG;AACH;EACA,wBAAE,0CAAgB,WAAW,EAAE;EAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;EACpC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;EACpC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;EACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;EAClB,IAAG;AACH;EACA,wBAAE,0BAAQ,eAAe,EAAE;;;;;IA7BD;;ECA1B,IAAM,WAAW;;;;;;;;;;;IACf,gBAAW,oCAAqB;EAClC,IAAI,OAAO,aAAa,CAAC;EACzB,IAAG;AACH;EACA,wBAAE,wBAAQ;EACV,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAClE,IAAG;AACH;EACA,wBAAE,0BAAQ,IAAI,EAAE;EAChB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;EACpC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EAC/C;;;;;IAZ0B,GAAG,CAAC,IAAI,CAAC;;ECCnC,IAAM,UAAU;;;;;;;;;;;IACd,gBAAW,oCAAqB;EAClC,IAAI,OAAO,YAAY,CAAC;EACxB,IAAG;AACH;EACA,uBAAE,wBAAQ;EACV,IAAI,QAAQ,IAAI;EAChB,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;EAChD,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACnE,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;EAChD,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACnE,QAAQ,MAAM;EACd,KAAK;EACL,IAAG;AACH;EACA,uBAAE,0BAAQ,IAAI,EAAE;EAChB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;EAC/B;;;;;IAnByB,GAAG,CAAC,IAAI,CAAC;;ECKlC,GAAG,CAAC,KAAK,GAAG;EACZ,EAAE,KAAK,EAAE,KAAK;EACd,EAAE,UAAU,EAAE,UAAU;EACxB,EAAE,WAAW,EAAE,WAAW;EAC1B,EAAE,WAAW,EAAE,WAAW;EAC1B,EAAE,UAAU,EAAE,UAAU;EACxB,EAAE,aAAa,EAAE,aAAa;EAC9B,EAAE,aAAa,EAAE,aAAa;EAC9B,CAAC;;ECfD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EACvE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;EAClF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EACpF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EACpF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;EAChF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;;"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/range/range.nomodule.min.js b/design_system_admin/dsfr/component/range/range.nomodule.min.js new file mode 100644 index 0000000000000000000000000000000000000000..2cc100f5c7f11238026c66fc2e2eed7aec6a6fce --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.nomodule.min.js @@ -0,0 +1,3 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ +!function(){"use strict";var t=window.dsfr,e={RANGE:t.internals.ns.selector("range"),RANGE_SM:t.internals.ns.selector("range--sm"),RANGE_STEP:t.internals.ns.selector("range--step"),RANGE_DOUBLE:t.internals.ns.selector("range--double"),RANGE_DOUBLE_STEP:t.internals.ns.selector("range--double")+t.internals.ns.selector("range--step"),RANGE_INPUT:t.internals.ns.selector("range input[type=range]:nth-of-type(1)"),RANGE_INPUT2:t.internals.ns.selector("range--double")+" input[type=range]:nth-of-type(2)",RANGE_OUTPUT:t.internals.ns.selector("range__output"),RANGE_MIN:t.internals.ns.selector("range__min"),RANGE_MAX:t.internals.ns.selector("range__max"),RANGE_PREFIX:t.internals.ns.attr("prefix"),RANGE_SUFFIX:t.internals.ns.attr("suffix")},i={VALUE:t.internals.ns.emission("range","value"),VALUE2:t.internals.ns.emission("range","value2"),OUTPUT:t.internals.ns.emission("range","output"),CONSTRAINTS:t.internals.ns.emission("range","constraints"),MIN:t.internals.ns.emission("range","min"),MAX:t.internals.ns.emission("range","max"),STEP:t.internals.ns.emission("range","step"),PREFIX:t.internals.ns.emission("range","prefix"),SUFFIX:t.internals.ns.emission("range","suffix"),DISABLED:t.internals.ns.emission("range","disabled"),ENABLE_POINTER:t.internals.ns.emission("range","enable_pointer")},s=function(){this._width=0,this._min=0,this._max=0,this._value=0,this._thumbSize=24,this._innerWidth=0,this._prefix="",this._suffix="",this._background={}},n={width:{configurable:!0},isSm:{configurable:!0},textValue:{configurable:!0},value:{configurable:!0},outputX:{configurable:!0},min:{configurable:!0},textMin:{configurable:!0},max:{configurable:!0},textMax:{configurable:!0},step:{configurable:!0},output:{configurable:!0},progress:{configurable:!0}};s.prototype.configure=function(t){t&&(this._prefix=t._prefix,this._suffix=t._suffix,this._width=t.width,this.setConstraints(t._constraints),this.value=t.value,this.update())},s.prototype.setPrefix=function(t){this._prefix=null!==t?t:""},s.prototype.setSuffix=function(t){this._suffix=null!==t?t:""},s.prototype._decorate=function(t){return""+this._prefix+t+this._suffix},n.width.get=function(){return this._width},n.width.set=function(t){this._width=t},n.isSm.get=function(){return this._isSm},n.isSm.set=function(t){this._isSm!==t&&(this._isSm=t,this.setThumbSize(t?16:24),this.update())},s.prototype.setThumbSize=function(t,e){void 0===e&&(e=1),this._thumbSize=t,this._innerPadding=t*e},n.textValue.get=function(){return this._decorate(this._value)},n.value.get=function(){return this._value},n.value.set=function(t){this._value=t},n.outputX.get=function(){return this._outputX},s.prototype.setConstraints=function(t){this._constraints=t,this._min=t.min,this._max=t.max,this._step=t.step,this._rangeWidth=t.rangeWidth},n.min.get=function(){return this._min},n.textMin.get=function(){return this._decorate(this._min)},n.max.get=function(){return this._max},n.textMax.get=function(){return this._decorate(this._max)},n.step.get=function(){return this._step},n.output.get=function(){return{text:this.textValue,transform:"translateX("+this._translateX+"px) translateX(-"+this._centerPercent+"%)"}},s.prototype._getRatio=function(t){return(t-this._min)/this._rangeWidth},n.progress.get=function(){return this._progress},s.prototype.update=function(){this._update()},s.prototype._update=function(){this._innerWidth=this._width-this._innerPadding;var t=this._getRatio(this._value);this._translateX=t*this._width,this._centerPercent=100*t,this._progress={right:(this._innerWidth*t+.5*this._innerPadding).toFixed(2)+"px"}},Object.defineProperties(s.prototype,n);var r=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={stepWidth:{configurable:!0}};return i.stepWidth.get=function(){return this._stepWidth.toFixed(3)+"px"},e.prototype._update=function(){t.prototype._update.call(this);var e=this._rangeWidth/this._step;for(this._stepWidth=this._innerWidth/e;this._stepWidth<4;)this._stepWidth*=2},Object.defineProperties(e.prototype,i),e}(s),o=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={value2:{configurable:!0},textValue:{configurable:!0}};return i.value2.get=function(){return this._value},i.value2.set=function(t){this._value2!==t&&(this._value2=t,this.update())},i.textValue.get=function(){return this._decorate(this._value)+" - "+this._decorate(this._value2)},e.prototype.setThumbSize=function(e){t.prototype.setThumbSize.call(this,e,2)},e.prototype._update=function(){t.prototype._update.call(this);var e=this._getRatio(.5*(this._value+this._value2));this._translateX=e*this._width,this._centerPercent=100*e;var i=this._getRatio(this._value),s=this._getRatio(this._value2);this._progress={left:(this._innerWidth*i+.25*this._innerPadding).toFixed(2)+"px",right:(this._innerWidth*s+.75*this._innerPadding).toFixed(2)+"px"}},Object.defineProperties(e.prototype,i),e}(s),a=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={stepWidth:{configurable:!0}};return i.stepWidth.get=function(){return this._stepWidth.toFixed(3)+"px"},e.prototype._update=function(){t.prototype._update.call(this);var e=this._rangeWidth/this._step;this._stepWidth=this._innerWidth/e,this._stepWidth<4&&(this._stepWidth*=Math.ceil(4/this._stepWidth))},Object.defineProperties(e.prototype,i),e}(o),h="step",p="double",u="double-step",c="default",_=function(t){function n(){t.apply(this,arguments)}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var _={type:{configurable:!0}},l={instanceClassName:{configurable:!0}};return l.instanceClassName.get=function(){return"Range"},n.prototype.init=function(){this._retrieveType(),this._retrieveSize(),this.isLegacy?(this.isResizing=!0,this.isMouseMoving=!0):(this._observer=new ResizeObserver(this.resize.bind(this)),this._observer.observe(this.node)),this.addAscent(i.CONSTRAINTS,this.setConstraints.bind(this)),this.addAscent(i.VALUE,this.setValue.bind(this)),this.addAscent(i.VALUE2,this.setValue2.bind(this)),this.getAttribute(e.RANGE_PREFIX)&&this.setPrefix(this.getAttribute(e.RANGE_PREFIX)),this.getAttribute(e.RANGE_SUFFIX)&&this.setSuffix(this.getAttribute(e.RANGE_SUFFIX)),this.update()},n.prototype._retrieveType=function(){switch(!0){case this.matches(e.RANGE_DOUBLE_STEP):case this.matches(e.RANGE_DOUBLE):this.type=p;break;case this.matches(e.RANGE_STEP):this.type=h;break;default:this.type=c}},_.type.set=function(t){if(this._type!==t){this._type=t;var e=this._model;switch(this._type){case u:this._model=new a;break;case p:this._model=new o;break;case h:this._model=new r;break;default:this._model=new s}this._model.configure(e)}},_.type.get=function(){return this._type},n.prototype._retrieveSize=function(){this._model.isSm=this.matches(e.RANGE_SM)},n.prototype.resize=function(){this._retrieveWidth(),this.update()},n.prototype._retrieveWidth=function(){this._model.width=this.getRect().width},n.prototype.setValue=function(t){switch(this._model.value=t,this._type){case u:case p:this.descend(i.VALUE,t)}this.update()},n.prototype.setValue2=function(t){this._model.value2=t,this.descend(i.VALUE2,t),this.update()},n.prototype.setConstraints=function(t){this._model.setConstraints(t),this.update(),this.descend(i.CONSTRAINTS,t)},n.prototype.setPrefix=function(t){this._model.setPrefix(t),this.update()},n.prototype.setSuffix=function(t){this._model.setSuffix(t),this.update()},n.prototype.mutate=function(t){switch(!0){case t.includes("class"):this._retrieveType(),this._retrieveSize();break;case t.includes(e.RANGE_PREFIX):case t.includes(e.RANGE_SUFFIX):this._model.setPrefix(this.getAttribute(e.RANGE_PREFIX)),this._model.setSuffix(this.getAttribute(e.RANGE_SUFFIX)),this.update()}},n.prototype.update=function(){this._model.update(),this.descend(i.OUTPUT,this._model.output),this.descend(i.MIN,this._model.textMin),this.descend(i.MAX,this._model.textMax);var t=this._model.progress;t.left?this.style.setProperty("--progress-left",t.left):this.style.removeProperty("--progress-left"),t.right?(this.style.setProperty("--progress-right",t.right),this.isLegacy&&t.left&&(this.style.setProperty("background-position-x",t.left),this.style.setProperty("background-size",parseFloat(t.right)-parseFloat(t.left)+"px "+(this._model.isSm?"8px":"12px")))):(this.style.removeProperty("--progress-right"),this.isLegacy&&(this.style.removeProperty("background-size"),this.style.removeProperty("background-position-x"))),this._model.stepWidth?this.style.setProperty("--step-width",this._model.stepWidth):this.style.removeProperty("--step-width")},n.prototype.mouseMove=function(t){if(this._type===p||this._type===u){var e=t.x-this.getRect().left;this.descend(i.ENABLE_POINTER,(parseFloat(this._model.progress.right)-parseFloat(this._model.progress.left))/2+parseFloat(this._model.progress.left)<e?2:1)}},n.prototype.dispose=function(){this._observer.disconnect()},Object.defineProperties(n.prototype,_),Object.defineProperties(n,l),n}(t.core.Instance),l=function(t){this._min=isNaN(t.min)?0:t.min,this._max=isNaN(t.max)?100:t.max,this._step=isNaN(t.step)?1:t.step,this._rangeWidth=this._max-this._min},d={min:{configurable:!0},max:{configurable:!0},step:{configurable:!0},rangeWidth:{configurable:!0}};d.min.get=function(){return this._min},d.max.get=function(){return this._max},d.step.get=function(){return this._step},d.rangeWidth.get=function(){return this._rangeWidth},l.prototype.test=function(t,e,i){return this._min===t&&this._max===e&&this._step===i},Object.defineProperties(l.prototype,d);var g=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var s={instanceClassName:{configurable:!0}};return s.instanceClassName.get=function(){return"RangeInput"},e.prototype.init=function(){this._init(),this.node.value=this.getAttribute("value"),this.changing=this.change.bind(this),this.node.addEventListener(this.isLegacy?"change":"input",this.changing),this.isLegacy&&this.addDescent(i.ENABLE_POINTER,this._enablePointer.bind(this)),this.change()},e.prototype._init=function(){var t=this;this._pointerId=1,this.request((function(){t.hasAttribute("min")||t.setAttribute("min",0),t.ascend(i.CONSTRAINTS,new l(t.node)),t.ascend(i.DISABLED,t.node.disabled)})),this.addDescent(i.VALUE2,this.setValue.bind(this))},e.prototype._enablePointer=function(t){var e=t===this._pointerId;this._isPointerEnabled!==e&&(this._isPointerEnabled=e,e?this.style.removeProperty("pointer-events"):this.style.setProperty("pointer-events","none"))},e.prototype.setValue=function(t){parseFloat(this.node.value)>t&&(this.node.value=t,this.change())},e.prototype.change=function(){this.ascend(i.VALUE,parseFloat(this.node.value))},e.prototype.mutate=function(t){t.includes("disabled")&&this.ascend(i.DISABLED,this.node.disabled),(t.includes("min")||t.includes("max")||t.includes("step"))&&(this.ascend(i.CONSTRAINTS,new l(this.node)),this.change())},e.prototype.dispose=function(){this.removeEventListener("input",this.changing)},Object.defineProperties(e,s),e}(t.core.Instance),f=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var s={instanceClassName:{configurable:!0}};return s.instanceClassName.get=function(){return"RangeInput2"},e.prototype._init=function(){this._pointerId=2,this.addDescent(i.CONSTRAINTS,this.setConstraints.bind(this)),this.addDescent(i.VALUE,this.setValue.bind(this))},e.prototype.setValue=function(t){parseFloat(this.node.value)<t&&(this.node.value=t,this.change())},e.prototype.change=function(){this.ascend(i.VALUE2,parseFloat(this.node.value))},e.prototype.setConstraints=function(t){this.node.min=t.min,this.node.max=t.max,this.node.step=t.step,this.change()},e.prototype.mutate=function(t){},Object.defineProperties(e,s),e}(g),y=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var s={instanceClassName:{configurable:!0}};return s.instanceClassName.get=function(){return"RangeOutput"},e.prototype.init=function(){this.addDescent(i.OUTPUT,this.change.bind(this))},e.prototype.change=function(t){this.node.innerText=t.text,this.node.style.transform=t.transform},Object.defineProperties(e,s),e}(t.core.Instance),m=function(t){function s(){t.apply(this,arguments)}t&&(s.__proto__=t),s.prototype=Object.create(t&&t.prototype),s.prototype.constructor=s;var n={instanceClassName:{configurable:!0}};return n.instanceClassName.get=function(){return"RangeLimit"},s.prototype.init=function(){switch(!0){case this.matches(e.RANGE_MIN):this.addDescent(i.MIN,this.change.bind(this));break;case this.matches(e.RANGE_MAX):this.addDescent(i.MAX,this.change.bind(this))}},s.prototype.change=function(t){this.node.innerText=t},Object.defineProperties(s,n),s}(t.core.Instance);t.range={Range:_,RangeInput:g,RangeInput2:f,RangeOutput:y,RangeLimit:m,RangeEmission:i,RangeSelector:e},t.internals.register(t.range.RangeSelector.RANGE,t.range.Range),t.internals.register(t.range.RangeSelector.RANGE_INPUT,t.range.RangeInput),t.internals.register(t.range.RangeSelector.RANGE_INPUT2,t.range.RangeInput2),t.internals.register(t.range.RangeSelector.RANGE_OUTPUT,t.range.RangeOutput),t.internals.register(t.range.RangeSelector.RANGE_MIN,t.range.RangeLimit),t.internals.register(t.range.RangeSelector.RANGE_MAX,t.range.RangeLimit)}(); +//# sourceMappingURL=range.nomodule.min.js.map diff --git a/design_system_admin/dsfr/component/range/range.nomodule.min.js.map b/design_system_admin/dsfr/component/range/range.nomodule.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5de57bb1e134da1a64cbaac52cb1c9e0f01b9090 --- /dev/null +++ b/design_system_admin/dsfr/component/range/range.nomodule.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.nomodule.min.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/range/script/range/range-selector.js","../../../src/component/range/script/range/range-emission.js","../../../src/component/range/script/range/range-model.js","../../../src/component/range/script/range/range.js","../../../src/component/range/script/range/range-constraints.js","../../../src/component/range/script/range/range-input.js","../../../src/component/range/script/range/range-input2.js","../../../src/component/range/script/range/range-output.js","../../../src/component/range/script/range/range-limit.js","../../../src/component/range/index.js","../../../src/component/range/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const RangeSelector = {\n RANGE: api.internals.ns.selector('range'),\n RANGE_SM: api.internals.ns.selector('range--sm'),\n RANGE_STEP: api.internals.ns.selector('range--step'),\n RANGE_DOUBLE: api.internals.ns.selector('range--double'),\n RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'),\n RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'),\n RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`,\n RANGE_OUTPUT: api.internals.ns.selector('range__output'),\n RANGE_MIN: api.internals.ns.selector('range__min'),\n RANGE_MAX: api.internals.ns.selector('range__max'),\n RANGE_PREFIX: api.internals.ns.attr('prefix'),\n RANGE_SUFFIX: api.internals.ns.attr('suffix')\n};\n","import api from '../../api.js';\n\nexport const RangeEmission = {\n VALUE: api.internals.ns.emission('range', 'value'),\n VALUE2: api.internals.ns.emission('range', 'value2'),\n OUTPUT: api.internals.ns.emission('range', 'output'),\n CONSTRAINTS: api.internals.ns.emission('range', 'constraints'),\n MIN: api.internals.ns.emission('range', 'min'),\n MAX: api.internals.ns.emission('range', 'max'),\n STEP: api.internals.ns.emission('range', 'step'),\n PREFIX: api.internals.ns.emission('range', 'prefix'),\n SUFFIX: api.internals.ns.emission('range', 'suffix'),\n DISABLED: api.internals.ns.emission('range', 'disabled'),\n ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer')\n};\n","class RangeModel {\n constructor () {\n this._width = 0;\n this._min = 0;\n this._max = 0;\n this._value = 0;\n this._thumbSize = 24;\n this._innerWidth = 0;\n this._prefix = '';\n this._suffix = '';\n this._background = {};\n }\n\n configure (model) {\n if (!model) return;\n this._prefix = model._prefix;\n this._suffix = model._suffix;\n this._width = model.width;\n this.setConstraints(model._constraints);\n this.value = model.value;\n this.update();\n }\n\n setPrefix (value) {\n this._prefix = value !== null ? value : '';\n }\n\n setSuffix (value) {\n this._suffix = value !== null ? value : '';\n }\n\n _decorate (value) {\n return `${this._prefix}${value}${this._suffix}`;\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get isSm () {\n return this._isSm;\n }\n\n set isSm (value) {\n if (this._isSm === value) return;\n this._isSm = value;\n this.setThumbSize(value ? 16 : 24);\n this.update();\n }\n\n setThumbSize (value, mult = 1) {\n this._thumbSize = value;\n this._innerPadding = value * mult;\n }\n\n get textValue () {\n return this._decorate(this._value);\n }\n\n get value () {\n return this._value;\n }\n\n set value (value) {\n this._value = value;\n }\n\n get outputX () {\n return this._outputX;\n }\n\n setConstraints (constraints) {\n this._constraints = constraints;\n this._min = constraints.min;\n this._max = constraints.max;\n this._step = constraints.step;\n this._rangeWidth = constraints.rangeWidth;\n }\n\n get min () {\n return this._min;\n }\n\n get textMin () {\n return this._decorate(this._min);\n }\n\n get max () {\n return this._max;\n }\n\n get textMax () {\n return this._decorate(this._max);\n }\n\n get step () {\n return this._step;\n }\n\n get output () {\n return {\n text: this.textValue,\n transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`\n };\n }\n\n _getRatio (value) {\n return (value - this._min) / this._rangeWidth;\n }\n\n get progress () {\n return this._progress;\n }\n\n update () {\n this._update();\n }\n\n _update () {\n this._innerWidth = this._width - this._innerPadding;\n const ratio = this._getRatio(this._value);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n this._progress = {\n right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelStep extends RangeModel {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n while (this._stepWidth < 4) this._stepWidth *= 2;\n }\n}\n\nclass RangeModelDouble extends RangeModel {\n get value2 () {\n return this._value;\n }\n\n set value2 (value) {\n if (this._value2 === value) return;\n this._value2 = value;\n this.update();\n }\n\n get textValue () {\n return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;\n }\n\n setThumbSize (value) {\n super.setThumbSize(value, 2);\n }\n\n _update () {\n super._update();\n const ratio = this._getRatio((this._value + this._value2) * 0.5);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n const ratio1 = this._getRatio(this._value);\n const ratio2 = this._getRatio(this._value2);\n this._progress = {\n left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`,\n right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelDoubleStep extends RangeModelDouble {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth);\n }\n}\n\nexport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\nimport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep } from './range-model';\n\nconst RangeTypes = {\n STEP: 'step',\n DOUBLE: 'double',\n DOUBLE_STEP: 'double-step',\n DEFAULT: 'default'\n};\n\nclass Range extends api.core.Instance {\n static get instanceClassName () {\n return 'Range';\n }\n\n init () {\n this._retrieveType();\n this._retrieveSize();\n if (this.isLegacy) {\n this.isResizing = true;\n this.isMouseMoving = true;\n } else {\n this._observer = new ResizeObserver(this.resize.bind(this));\n this._observer.observe(this.node);\n }\n\n this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addAscent(RangeEmission.VALUE, this.setValue.bind(this));\n this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this));\n if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n }\n\n _retrieveType () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_DOUBLE_STEP):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_DOUBLE):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_STEP):\n this.type = RangeTypes.STEP;\n break;\n\n default:\n this.type = RangeTypes.DEFAULT;\n }\n }\n\n set type (value) {\n if (this._type === value) return;\n this._type = value;\n\n const oldModel = this._model;\n\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n this._model = new RangeModelDoubleStep();\n break;\n\n case RangeTypes.DOUBLE:\n this._model = new RangeModelDouble();\n break;\n\n case RangeTypes.STEP:\n this._model = new RangeModelStep();\n break;\n\n default:\n this._model = new RangeModel();\n }\n\n this._model.configure(oldModel);\n }\n\n get type () {\n return this._type;\n }\n\n _retrieveSize () {\n this._model.isSm = this.matches(RangeSelector.RANGE_SM);\n }\n\n resize () {\n this._retrieveWidth();\n this.update();\n }\n\n _retrieveWidth () {\n this._model.width = this.getRect().width;\n }\n\n setValue (value) {\n this._model.value = value;\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n case RangeTypes.DOUBLE:\n this.descend(RangeEmission.VALUE, value);\n break;\n }\n this.update();\n }\n\n setValue2 (value) {\n this._model.value2 = value;\n this.descend(RangeEmission.VALUE2, value);\n this.update();\n }\n\n setConstraints (constraints) {\n this._model.setConstraints(constraints);\n this.update();\n this.descend(RangeEmission.CONSTRAINTS, constraints);\n }\n\n setPrefix (value) {\n this._model.setPrefix(value);\n this.update();\n }\n\n setSuffix (value) {\n this._model.setSuffix(value);\n this.update();\n }\n\n mutate (attributesNames) {\n switch (true) {\n case attributesNames.includes('class'):\n this._retrieveType();\n this._retrieveSize();\n break;\n\n case attributesNames.includes(RangeSelector.RANGE_PREFIX):\n case attributesNames.includes(RangeSelector.RANGE_SUFFIX):\n this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n break;\n }\n }\n\n update () {\n this._model.update();\n this.descend(RangeEmission.OUTPUT, this._model.output);\n this.descend(RangeEmission.MIN, this._model.textMin);\n this.descend(RangeEmission.MAX, this._model.textMax);\n const progress = this._model.progress;\n if (progress.left) {\n this.style.setProperty('--progress-left', progress.left);\n } else {\n this.style.removeProperty('--progress-left');\n }\n if (progress.right) {\n this.style.setProperty('--progress-right', progress.right);\n if (this.isLegacy) {\n if (progress.left) {\n this.style.setProperty('background-position-x', progress.left);\n this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`);\n }\n }\n } else {\n this.style.removeProperty('--progress-right');\n if (this.isLegacy) {\n this.style.removeProperty('background-size');\n this.style.removeProperty('background-position-x');\n }\n }\n if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth);\n else this.style.removeProperty('--step-width');\n }\n\n mouseMove (point) {\n if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return;\n const x = point.x - this.getRect().left;\n this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1);\n }\n\n dispose () {\n this._observer.disconnect();\n }\n}\n\nexport { Range };\n","class RangeConstraints {\n constructor (node) {\n this._min = isNaN(node.min) ? 0 : node.min;\n this._max = isNaN(node.max) ? 100 : node.max;\n this._step = isNaN(node.step) ? 1 : node.step;\n this._rangeWidth = this._max - this._min;\n }\n\n get min () {\n return this._min;\n }\n\n get max () {\n return this._max;\n }\n\n get step () {\n return this._step;\n }\n\n get rangeWidth () {\n return this._rangeWidth;\n }\n\n test (min, max, step) {\n return this._min === min && this._max === max && this._step === step;\n }\n}\n\nexport { RangeConstraints };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeConstraints } from './range-constraints';\n\nclass RangeInput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeInput';\n }\n\n init () {\n this._init();\n this.node.value = this.getAttribute('value');\n this.changing = this.change.bind(this);\n this.node.addEventListener(this.isLegacy ? 'change' : 'input', this.changing);\n if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this));\n this.change();\n }\n\n _init () {\n this._pointerId = 1;\n this.request(() => {\n if (!this.hasAttribute('min')) this.setAttribute('min', 0);\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.ascend(RangeEmission.DISABLED, this.node.disabled);\n });\n\n this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this));\n }\n\n _enablePointer (pointerId) {\n const isEnabled = pointerId === this._pointerId;\n if (this._isPointerEnabled === isEnabled) return;\n this._isPointerEnabled = isEnabled;\n if (isEnabled) this.style.removeProperty('pointer-events');\n else this.style.setProperty('pointer-events', 'none');\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) > value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE, parseFloat(this.node.value));\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled);\n if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) {\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.change();\n }\n }\n\n dispose () {\n this.removeEventListener('input', this.changing);\n }\n}\n\nexport { RangeInput };\n","import { RangeInput } from './range-input.js';\nimport { RangeEmission } from './range-emission';\n\nclass RangeInput2 extends RangeInput {\n static get instanceClassName () {\n return 'RangeInput2';\n }\n\n _init () {\n this._pointerId = 2;\n this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addDescent(RangeEmission.VALUE, this.setValue.bind(this));\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) < value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value));\n }\n\n setConstraints (constraints) {\n this.node.min = constraints.min;\n this.node.max = constraints.max;\n this.node.step = constraints.step;\n this.change();\n }\n\n mutate (attributesNames) {}\n}\n\nexport { RangeInput2 };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\n\nclass RangeOutput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeOutput';\n }\n\n init () {\n this.addDescent(RangeEmission.OUTPUT, this.change.bind(this));\n }\n\n change (data) {\n this.node.innerText = data.text;\n this.node.style.transform = data.transform;\n }\n}\n\nexport { RangeOutput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\n\nclass RangeLimit extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeLimit';\n }\n\n init () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_MIN):\n this.addDescent(RangeEmission.MIN, this.change.bind(this));\n break;\n\n case this.matches(RangeSelector.RANGE_MAX):\n this.addDescent(RangeEmission.MAX, this.change.bind(this));\n break;\n }\n }\n\n change (text) {\n this.node.innerText = text;\n }\n}\n\nexport { RangeLimit };\n","import api from './api.js';\nimport { RangeSelector } from './script/range/range-selector.js';\nimport { RangeEmission } from './script/range/range-emission.js';\nimport { Range } from './script/range/range.js';\nimport { RangeInput } from './script/range/range-input.js';\nimport { RangeInput2 } from './script/range/range-input2.js';\nimport { RangeOutput } from './script/range/range-output.js';\nimport { RangeLimit } from './script/range/range-limit.js';\n\napi.range = {\n Range: Range,\n RangeInput: RangeInput,\n RangeInput2: RangeInput2,\n RangeOutput: RangeOutput,\n RangeLimit: RangeLimit,\n RangeEmission: RangeEmission,\n RangeSelector: RangeSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.range.RangeSelector.RANGE, api.range.Range);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2);\napi.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput);\napi.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit);\napi.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit);\n\nexport default api;\n"],"names":["const","api","window","RangeSelector","RANGE","internals","ns","selector","RANGE_SM","RANGE_STEP","RANGE_DOUBLE","RANGE_DOUBLE_STEP","RANGE_INPUT","RANGE_INPUT2","RANGE_OUTPUT","RANGE_MIN","RANGE_MAX","RANGE_PREFIX","attr","RANGE_SUFFIX","RangeEmission","VALUE","emission","VALUE2","OUTPUT","CONSTRAINTS","MIN","MAX","STEP","PREFIX","SUFFIX","DISABLED","ENABLE_POINTER","RangeModel","this","_width","_min","_max","_value","_thumbSize","_innerWidth","_prefix","_suffix","_background","configure","model","width","setConstraints","_constraints","value","update","setPrefix","setSuffix","_decorate","isSm","_isSm","setThumbSize","mult","_innerPadding","textValue","outputX","_outputX","constraints","min","max","_step","step","_rangeWidth","rangeWidth","textMin","textMax","output","text","transform","_getRatio","progress","_progress","_update","ratio","_translateX","_centerPercent","right","toFixed","RangeModelStep","prototypeAccessors$1","stepWidth","_stepWidth","super","steps","RangeModelDouble","prototypeAccessors$2","value2","_value2","ratio1","ratio2","left","RangeModelDoubleStep","prototypeAccessors$3","Math","ceil","RangeTypes","Range","staticAccessors","instanceClassName","init","_retrieveType","_retrieveSize","isLegacy","isResizing","isMouseMoving","_observer","ResizeObserver","resize","bind","observe","node","addAscent","setValue","setValue2","getAttribute","matches","type","prototypeAccessors","_type","oldModel","_model","_retrieveWidth","getRect","descend","mutate","attributesNames","includes","style","setProperty","removeProperty","parseFloat","mouseMove","point","x","dispose","disconnect","core","Instance","RangeConstraints","isNaN","test","RangeInput","_init","changing","change","addEventListener","addDescent","_enablePointer","_pointerId","request","hasAttribute","setAttribute","ascend","disabled","pointerId","isEnabled","_isPointerEnabled","removeEventListener","RangeInput2","RangeOutput","data","innerText","RangeLimit","range","register"],"mappings":";yBAAAA,ICCMC,EAAMC,OAAuB,KCCtBC,EAAgB,CAC3BC,MAAOH,EAAII,UAAUC,GAAGC,SAAS,SACjCC,SAAUP,EAAII,UAAUC,GAAGC,SAAS,aACpCE,WAAYR,EAAII,UAAUC,GAAGC,SAAS,eACtCG,aAAcT,EAAII,UAAUC,GAAGC,SAAS,iBACxCI,kBAAmBV,EAAII,UAAUC,GAAGC,SAAS,iBAAmBN,EAAII,UAAUC,GAAGC,SAAS,eAC1FK,YAAaX,EAAII,UAAUC,GAAGC,SAAS,0CACvCM,aAAiBZ,EAAII,UAAUC,GAAGC,SAAS,qDAC3CO,aAAcb,EAAII,UAAUC,GAAGC,SAAS,iBACxCQ,UAAWd,EAAII,UAAUC,GAAGC,SAAS,cACrCS,UAAWf,EAAII,UAAUC,GAAGC,SAAS,cACrCU,aAAchB,EAAII,UAAUC,GAAGY,KAAK,UACpCC,aAAclB,EAAII,UAAUC,GAAGY,KAAK,WCZzBE,EAAgB,CAC3BC,MAAOpB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,SAC1CC,OAAQtB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CE,OAAQvB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CG,YAAaxB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,eAChDI,IAAKzB,EAAII,UAAUC,GAAGgB,SAAS,QAAS,OACxCK,IAAK1B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,OACxCM,KAAM3B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,QACzCO,OAAQ5B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CQ,OAAQ7B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,UAC3CS,SAAU9B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,YAC7CU,eAAgB/B,EAAII,UAAUC,GAAGgB,SAAS,QAAS,mBCb/CW,EACJ,WACEC,KAAKC,OAAS,EACdD,KAAKE,KAAO,EACZF,KAAKG,KAAO,EACZH,KAAKI,OAAS,EACdJ,KAAKK,WAAa,GAClBL,KAAKM,YAAc,EACnBN,KAAKO,QAAU,GACfP,KAAKQ,QAAU,GACfR,KAAKS,YAAc,EACrB,0TAEAC,mBAAWC,GACJA,IACLX,KAAKO,QAAUI,EAAMJ,QACrBP,KAAKQ,QAAUG,EAAMH,QACrBR,KAAKC,OAASU,EAAMC,MACpBZ,KAAKa,eAAeF,EAAMG,cAC1Bd,KAAKe,MAAQJ,EAAMI,MACnBf,KAAKgB,SACP,cAEAC,mBAAWF,GACTf,KAAKO,QAAoB,OAAVQ,EAAiBA,EAAQ,EAC1C,cAEAG,mBAAWH,GACTf,KAAKQ,QAAoB,OAAVO,EAAiBA,EAAQ,EAC1C,cAEAI,mBAAWJ,GACT,SAAUf,aAAee,EAAQf,YACnC,IAEIY,qBACF,OAAOZ,KAAKC,MACd,IAEIW,mBAAOG,GACTf,KAAKC,OAASc,CAChB,IAEIK,oBACF,OAAOpB,KAAKqB,KACd,IAEID,kBAAML,GACJf,KAAKqB,QAAUN,IACnBf,KAAKqB,MAAQN,EACbf,KAAKsB,aAAaP,EAAQ,GAAK,IAC/Bf,KAAKgB,SACP,cAEAM,sBAAcP,EAAOQ,kBAAO,GAC1BvB,KAAKK,WAAaU,EAClBf,KAAKwB,cAAgBT,EAAQQ,CAC/B,IAEIE,yBACF,OAAOzB,KAAKmB,UAAUnB,KAAKI,OAC7B,IAEIW,qBACF,OAAOf,KAAKI,MACd,IAEIW,mBAAOA,GACTf,KAAKI,OAASW,CAChB,IAEIW,uBACF,OAAO1B,KAAK2B,QACd,cAEAd,wBAAgBe,GACd5B,KAAKc,aAAec,EACpB5B,KAAKE,KAAO0B,EAAYC,IACxB7B,KAAKG,KAAOyB,EAAYE,IACxB9B,KAAK+B,MAAQH,EAAYI,KACzBhC,KAAKiC,YAAcL,EAAYM,UACjC,IAEIL,mBACF,OAAO7B,KAAKE,IACd,IAEIiC,uBACF,OAAOnC,KAAKmB,UAAUnB,KAAKE,KAC7B,IAEI4B,mBACF,OAAO9B,KAAKG,IACd,IAEIiC,uBACF,OAAOpC,KAAKmB,UAAUnB,KAAKG,KAC7B,IAEI6B,oBACF,OAAOhC,KAAK+B,KACd,IAEIM,sBACF,MAAO,CACLC,KAAMtC,KAAKyB,UACXc,wBAAyBvC,oCAAmCA,yBAEhE,cAEAwC,mBAAWzB,GACT,OAAQA,EAAQf,KAAKE,MAAQF,KAAKiC,WACpC,IAEIQ,wBACF,OAAOzC,KAAK0C,SACd,cAEA1B,kBACEhB,KAAK2C,SACP,cAEAA,mBACE3C,KAAKM,YAAcN,KAAKC,OAASD,KAAKwB,cACtC1D,IAAM8E,EAAQ5C,KAAKwC,UAAUxC,KAAKI,QAClCJ,KAAK6C,YAAcD,EAAQ5C,KAAKC,OAChCD,KAAK8C,eAAyB,IAARF,EACtB5C,KAAK0C,UAAY,CACfK,OAAW/C,KAAKM,YAAcsC,EAA6B,GAArB5C,KAAKwB,eAAqBwB,QAAQ,QAE5E,yCAGF,IAAMC,qLACJC,EAAIC,yBACF,OAAUnD,KAAKoD,WAAWJ,QAAQ,qBAGpCL,mBACEU,YAAMV,mBACN7E,IAAMwF,EAAQtD,KAAKiC,YAAcjC,KAAK+B,MAEtC,IADA/B,KAAKoD,WAAapD,KAAKM,YAAcgD,EAC9BtD,KAAKoD,WAAa,GAAGpD,KAAKoD,YAAc,6CATtBrD,GAavBwD,8MACJC,EAAIC,sBACF,OAAOzD,KAAKI,QAGdoD,EAAIC,oBAAQ1C,GACNf,KAAK0D,UAAY3C,IACrBf,KAAK0D,QAAU3C,EACff,KAAKgB,WAGPwC,EAAI/B,yBACF,OAAUzB,KAAKmB,UAAUnB,KAAKI,cAAaJ,KAAKmB,UAAUnB,KAAK0D,sBAGjEpC,sBAAcP,GACZsC,YAAM/B,uBAAaP,EAAO,gBAG5B4B,mBACEU,YAAMV,mBACN7E,IAAM8E,EAAQ5C,KAAKwC,UAAyC,IAA9BxC,KAAKI,OAASJ,KAAK0D,UACjD1D,KAAK6C,YAAcD,EAAQ5C,KAAKC,OAChCD,KAAK8C,eAAyB,IAARF,EACtB9E,IAAM6F,EAAS3D,KAAKwC,UAAUxC,KAAKI,QAC7BwD,EAAS5D,KAAKwC,UAAUxC,KAAK0D,SACnC1D,KAAK0C,UAAY,CACfmB,MAAU7D,KAAKM,YAAcqD,EAA8B,IAArB3D,KAAKwB,eAAsBwB,QAAQ,QACzED,OAAW/C,KAAKM,YAAcsD,EAA8B,IAArB5D,KAAKwB,eAAsBwB,QAAQ,oDA5BjDjD,GAiCzB+D,qLACJC,EAAIZ,yBACF,OAAUnD,KAAKoD,WAAWJ,QAAQ,qBAGpCL,mBACEU,YAAMV,mBACN7E,IAAMwF,EAAQtD,KAAKiC,YAAcjC,KAAK+B,MACtC/B,KAAKoD,WAAapD,KAAKM,YAAcgD,EACjCtD,KAAKoD,WAAa,IAAGpD,KAAKoD,YAAcY,KAAKC,KAAK,EAAIjE,KAAKoD,wDAThCG,GC9K7BW,EACE,OADFA,EAEI,SAFJA,EAGS,cAHTA,EAIK,UAGLC,wNACJC,EAAWC,iCACT,MAAO,qBAGTC,gBACEtE,KAAKuE,gBACLvE,KAAKwE,gBACDxE,KAAKyE,UACPzE,KAAK0E,YAAa,EAClB1E,KAAK2E,eAAgB,IAErB3E,KAAK4E,UAAY,IAAIC,eAAe7E,KAAK8E,OAAOC,KAAK/E,OACrDA,KAAK4E,UAAUI,QAAQhF,KAAKiF,OAG9BjF,KAAKkF,UAAUhG,EAAcK,YAAaS,KAAKa,eAAekE,KAAK/E,OACnEA,KAAKkF,UAAUhG,EAAcC,MAAOa,KAAKmF,SAASJ,KAAK/E,OACvDA,KAAKkF,UAAUhG,EAAcG,OAAQW,KAAKoF,UAAUL,KAAK/E,OACrDA,KAAKqF,aAAapH,EAAcc,eAAeiB,KAAKiB,UAAUjB,KAAKqF,aAAapH,EAAcc,eAC9FiB,KAAKqF,aAAapH,EAAcgB,eAAee,KAAKkB,UAAUlB,KAAKqF,aAAapH,EAAcgB,eAClGe,KAAKgB,sBAGPuD,yBACE,QAAQ,GACN,KAAKvE,KAAKsF,QAAQrH,EAAcQ,mBAIhC,KAAKuB,KAAKsF,QAAQrH,EAAcO,cAC9BwB,KAAKuF,KAAOrB,EACZ,MAEF,KAAKlE,KAAKsF,QAAQrH,EAAcM,YAC9ByB,KAAKuF,KAAOrB,EACZ,MAEF,QACElE,KAAKuF,KAAOrB,IAIlBsB,EAAID,kBAAMxE,GACR,GAAIf,KAAKyF,QAAU1E,EAAnB,CACAf,KAAKyF,MAAQ1E,EAEbjD,IAAM4H,EAAW1F,KAAK2F,OAEtB,OAAQ3F,KAAKyF,OACX,KAAKvB,EACHlE,KAAK2F,OAAS,IAAI7B,EAClB,MAEF,KAAKI,EACHlE,KAAK2F,OAAS,IAAIpC,EAClB,MAEF,KAAKW,EACHlE,KAAK2F,OAAS,IAAI1C,EAClB,MAEF,QACEjD,KAAK2F,OAAS,IAAI5F,EAGtBC,KAAK2F,OAAOjF,UAAUgF,KAGxBF,EAAID,oBACF,OAAOvF,KAAKyF,mBAGdjB,yBACExE,KAAK2F,OAAOvE,KAAOpB,KAAKsF,QAAQrH,EAAcK,uBAGhDwG,kBACE9E,KAAK4F,iBACL5F,KAAKgB,sBAGP4E,0BACE5F,KAAK2F,OAAO/E,MAAQZ,KAAK6F,UAAUjF,mBAGrCuE,kBAAUpE,GAER,OADAf,KAAK2F,OAAO5E,MAAQA,EACZf,KAAKyF,OACX,KAAKvB,EACL,KAAKA,EACHlE,KAAK8F,QAAQ5G,EAAcC,MAAO4B,GAGtCf,KAAKgB,sBAGPoE,mBAAWrE,GACTf,KAAK2F,OAAOlC,OAAS1C,EACrBf,KAAK8F,QAAQ5G,EAAcG,OAAQ0B,GACnCf,KAAKgB,sBAGPH,wBAAgBe,GACd5B,KAAK2F,OAAO9E,eAAee,GAC3B5B,KAAKgB,SACLhB,KAAK8F,QAAQ5G,EAAcK,YAAaqC,gBAG1CX,mBAAWF,GACTf,KAAK2F,OAAO1E,UAAUF,GACtBf,KAAKgB,sBAGPE,mBAAWH,GACTf,KAAK2F,OAAOzE,UAAUH,GACtBf,KAAKgB,sBAGP+E,gBAAQC,GACN,QAAQ,GACN,KAAKA,EAAgBC,SAAS,SAC5BjG,KAAKuE,gBACLvE,KAAKwE,gBACL,MAEF,KAAKwB,EAAgBC,SAAShI,EAAcc,cAC5C,KAAKiH,EAAgBC,SAAShI,EAAcgB,cAC1Ce,KAAK2F,OAAO1E,UAAUjB,KAAKqF,aAAapH,EAAcc,eACtDiB,KAAK2F,OAAOzE,UAAUlB,KAAKqF,aAAapH,EAAcgB,eACtDe,KAAKgB,uBAKXA,kBACEhB,KAAK2F,OAAO3E,SACZhB,KAAK8F,QAAQ5G,EAAcI,OAAQU,KAAK2F,OAAOtD,QAC/CrC,KAAK8F,QAAQ5G,EAAcM,IAAKQ,KAAK2F,OAAOxD,SAC5CnC,KAAK8F,QAAQ5G,EAAcO,IAAKO,KAAK2F,OAAOvD,SAC5CtE,IAAM2E,EAAWzC,KAAK2F,OAAOlD,SACzBA,EAASoB,KACX7D,KAAKkG,MAAMC,YAAY,kBAAmB1D,EAASoB,MAEnD7D,KAAKkG,MAAME,eAAe,mBAExB3D,EAASM,OACX/C,KAAKkG,MAAMC,YAAY,mBAAoB1D,EAASM,OAChD/C,KAAKyE,UACHhC,EAASoB,OACX7D,KAAKkG,MAAMC,YAAY,wBAAyB1D,EAASoB,MACzD7D,KAAKkG,MAAMC,YAAY,kBAAsBE,WAAW5D,EAASM,OAASsD,WAAW5D,EAASoB,aAAW7D,KAAK2F,OAAOvE,KAAO,MAAQ,YAIxIpB,KAAKkG,MAAME,eAAe,oBACtBpG,KAAKyE,WACPzE,KAAKkG,MAAME,eAAe,mBAC1BpG,KAAKkG,MAAME,eAAe,2BAG1BpG,KAAK2F,OAAOxC,UAAWnD,KAAKkG,MAAMC,YAAY,eAAgBnG,KAAK2F,OAAOxC,WACzEnD,KAAKkG,MAAME,eAAe,6BAGjCE,mBAAWC,GACT,GAAIvG,KAAKyF,QAAUvB,GAAqBlE,KAAKyF,QAAUvB,EAAvD,CACApG,IAAM0I,EAAID,EAAMC,EAAIxG,KAAK6F,UAAUhC,KACnC7D,KAAK8F,QAAQ5G,EAAcY,gBAAiBuG,WAAWrG,KAAK2F,OAAOlD,SAASM,OAASsD,WAAWrG,KAAK2F,OAAOlD,SAASoB,OAAS,EAAIwC,WAAWrG,KAAK2F,OAAOlD,SAASoB,MAAQ2C,EAAI,EAAI,iBAGpLC,mBACEzG,KAAK4E,UAAU8B,qFA5KC3I,EAAI4I,KAAKC,UCZvBC,EACJ,SAAa5B,GACXjF,KAAKE,KAAO4G,MAAM7B,EAAKpD,KAAO,EAAIoD,EAAKpD,IACvC7B,KAAKG,KAAO2G,MAAM7B,EAAKnD,KAAO,IAAMmD,EAAKnD,IACzC9B,KAAK+B,MAAQ+E,MAAM7B,EAAKjD,MAAQ,EAAIiD,EAAKjD,KACzChC,KAAKiC,YAAcjC,KAAKG,KAAOH,KAAKE,IACtC,sGAEAsF,EAAI3D,mBACF,OAAO7B,KAAKE,IACd,EAEAsF,EAAI1D,mBACF,OAAO9B,KAAKG,IACd,EAEAqF,EAAIxD,oBACF,OAAOhC,KAAK+B,KACd,EAEAyD,EAAItD,0BACF,OAAOlC,KAAKiC,WACd,cAEA8E,cAAMlF,EAAKC,EAAKE,GACd,OAAOhC,KAAKE,OAAS2B,GAAO7B,KAAKG,OAAS2B,GAAO9B,KAAK+B,QAAUC,CAClE,yCCtBF,IAAMgF,6LACJ5C,EAAWC,iCACT,MAAO,0BAGTC,gBACEtE,KAAKiH,QACLjH,KAAKiF,KAAKlE,MAAQf,KAAKqF,aAAa,SACpCrF,KAAKkH,SAAWlH,KAAKmH,OAAOpC,KAAK/E,MACjCA,KAAKiF,KAAKmC,iBAAiBpH,KAAKyE,SAAW,SAAW,QAASzE,KAAKkH,UAChElH,KAAKyE,UAAUzE,KAAKqH,WAAWnI,EAAcY,eAAgBE,KAAKsH,eAAevC,KAAK/E,OAC1FA,KAAKmH,sBAGPF,4BACEjH,KAAKuH,WAAa,EAClBvH,KAAKwH,oBACExH,EAAKyH,aAAa,QAAQzH,EAAK0H,aAAa,MAAO,GACxD1H,EAAK2H,OAAOzI,EAAcK,YAAa,IAAIsH,EAAiB7G,EAAKiF,OACjEjF,EAAK2H,OAAOzI,EAAcW,SAAUG,EAAKiF,KAAK2C,aAGhD5H,KAAKqH,WAAWnI,EAAcG,OAAQW,KAAKmF,SAASJ,KAAK/E,oBAG3DsH,wBAAgBO,GACd/J,IAAMgK,EAAYD,IAAc7H,KAAKuH,WACjCvH,KAAK+H,oBAAsBD,IAC/B9H,KAAK+H,kBAAoBD,EACrBA,EAAW9H,KAAKkG,MAAME,eAAe,kBACpCpG,KAAKkG,MAAMC,YAAY,iBAAkB,sBAGhDhB,kBAAUpE,GACJsF,WAAWrG,KAAKiF,KAAKlE,OAASA,IAChCf,KAAKiF,KAAKlE,MAAQA,EAClBf,KAAKmH,uBAITA,kBACEnH,KAAK2H,OAAOzI,EAAcC,MAAOkH,WAAWrG,KAAKiF,KAAKlE,qBAGxDgF,gBAAQC,GACFA,EAAgBC,SAAS,aAAajG,KAAK2H,OAAOzI,EAAcW,SAAUG,KAAKiF,KAAK2C,WACpF5B,EAAgBC,SAAS,QAAUD,EAAgBC,SAAS,QAAUD,EAAgBC,SAAS,WACjGjG,KAAK2H,OAAOzI,EAAcK,YAAa,IAAIsH,EAAiB7G,KAAKiF,OACjEjF,KAAKmH,uBAITV,mBACEzG,KAAKgI,oBAAoB,QAAShI,KAAKkH,2CArDlBnJ,EAAI4I,KAAKC,UCD5BqB,6LACJ7D,EAAWC,iCACT,MAAO,2BAGT4C,iBACEjH,KAAKuH,WAAa,EAClBvH,KAAKqH,WAAWnI,EAAcK,YAAaS,KAAKa,eAAekE,KAAK/E,OACpEA,KAAKqH,WAAWnI,EAAcC,MAAOa,KAAKmF,SAASJ,KAAK/E,oBAG1DmF,kBAAUpE,GACJsF,WAAWrG,KAAKiF,KAAKlE,OAASA,IAChCf,KAAKiF,KAAKlE,MAAQA,EAClBf,KAAKmH,uBAITA,kBACEnH,KAAK2H,OAAOzI,EAAcG,OAAQgH,WAAWrG,KAAKiF,KAAKlE,qBAGzDF,wBAAgBe,GACd5B,KAAKiF,KAAKpD,IAAMD,EAAYC,IAC5B7B,KAAKiF,KAAKnD,IAAMF,EAAYE,IAC5B9B,KAAKiF,KAAKjD,KAAOJ,EAAYI,KAC7BhC,KAAKmH,sBAGPpB,gBAAQC,qCA7BgBgB,GCApBkB,6LACJ9D,EAAWC,iCACT,MAAO,2BAGTC,gBACEtE,KAAKqH,WAAWnI,EAAcI,OAAQU,KAAKmH,OAAOpC,KAAK/E,oBAGzDmH,gBAAQgB,GACNnI,KAAKiF,KAAKmD,UAAYD,EAAK7F,KAC3BtC,KAAKiF,KAAKiB,MAAM3D,UAAY4F,EAAK5F,2CAXXxE,EAAI4I,KAAKC,UCC7ByB,6LACJjE,EAAWC,iCACT,MAAO,0BAGTC,gBACE,QAAQ,GACN,KAAKtE,KAAKsF,QAAQrH,EAAcY,WAC9BmB,KAAKqH,WAAWnI,EAAcM,IAAKQ,KAAKmH,OAAOpC,KAAK/E,OACpD,MAEF,KAAKA,KAAKsF,QAAQrH,EAAca,WAC9BkB,KAAKqH,WAAWnI,EAAcO,IAAKO,KAAKmH,OAAOpC,KAAK/E,qBAK1DmH,gBAAQ7E,GACNtC,KAAKiF,KAAKmD,UAAY9F,mCAlBDvE,EAAI4I,KAAKC,UCKlC7I,EAAIuK,MAAQ,CACVnE,MAAOA,EACP6C,WAAYA,EACZiB,YAAaA,EACbC,YAAaA,EACbG,WAAYA,EACZnJ,cAAeA,EACfjB,cAAeA,GCdjBF,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAcC,MAAOH,EAAIuK,MAAMnE,OAChEpG,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAcS,YAAaX,EAAIuK,MAAMtB,YACtEjJ,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAcU,aAAcZ,EAAIuK,MAAML,aACvElK,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAcW,aAAcb,EAAIuK,MAAMJ,aACvEnK,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAcY,UAAWd,EAAIuK,MAAMD,YACpEtK,EAAII,UAAUoK,SAASxK,EAAIuK,MAAMrK,cAAca,UAAWf,EAAIuK,MAAMD"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/search/search.print.css b/design_system_admin/dsfr/component/search/search.print.css new file mode 100644 index 0000000000000000000000000000000000000000..c87db3880fa3fd9011330cfc04128d704fda8188 --- /dev/null +++ b/design_system_admin/dsfr/component/search/search.print.css @@ -0,0 +1,21 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-search-bar .fr-input { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-search-bar .fr-input--valid { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-search-bar .fr-input--error { + box-shadow: inset 0 -2px 0 0 #ce0500; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-search-bar .fr-input::-webkit-search-cancel-button { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E"); + } +} diff --git a/design_system_admin/dsfr/component/search/search.print.css.map b/design_system_admin/dsfr/component/search/search.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8120b884879fda666dd070f77203795c41d1d2d0 --- /dev/null +++ b/design_system_admin/dsfr/component/search/search.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/search/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20Evewh6%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECII;ICgCA,oCAAA;ECtCF;;EFSI;IC6BF,oCAAA;ECnCF;;EFUI;ICyBF,oCAAA;EChCF;AACF;ACDI;EHWE;IIUE,wZAAA;EFhBN;AACF","file":"search.print.css","sourcesContent":[null,"////\n/// Search Print\n/// @group search\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _search-scheme('print');\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/search/search.print.min.css b/design_system_admin/dsfr/component/search/search.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..87c1bd629373df54202cd116241b95e45443434c --- /dev/null +++ b/design_system_admin/dsfr/component/search/search.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-search-bar .fr-input{box-shadow:inset 0 -2px 0 0 #000091}.fr-search-bar .fr-input--valid{box-shadow:inset 0 -2px 0 0 #18753c}.fr-search-bar .fr-input--error{box-shadow:inset 0 -2px 0 0 #ce0500}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-search-bar .fr-input::-webkit-search-cancel-button{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E")}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/search/search.print.min.css.map b/design_system_admin/dsfr/component/search/search.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..0cf10864909db01c01e28c8b3c304467565338ee --- /dev/null +++ b/design_system_admin/dsfr/component/search/search.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/search/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20xHUyXW%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCII,yBCgCA,mCCtCF,CFSI,gCC6BF,mCCnCF,CFUI,gCCyBF,mCChCF,CACF,CCDI,+EHWE,uDIUE,mYFhBN,CACF","file":"search.print.min.css","sourcesContent":[null,"////\n/// Search Print\n/// @group search\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _search-scheme('print');\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/README.md b/design_system_admin/dsfr/component/segmented/README.md new file mode 100644 index 0000000000000000000000000000000000000000..dd566348ff1028af30003316cd67f61e7bbc5f6d --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/README.md @@ -0,0 +1,33 @@ +# segmented + +Le composant "contrôle segmenté" incite l'utilisateur à choisir entre plusieurs options d'affichage disponibles (vues), mutuellement exclusives avec une valeur sélectionnée par défaut. + +## Dépendances +```shell +segmented +└─ core +└─ form +``` + +## Utilisation +Afin d’utiliser le composant `segmented`, il est nécessaire d’ajouter les fichiers de styles et de scripts présents dans le dossier dist dans l'ordre suivant :\n +```html +<html> + <head> + <link href="css/core/core.min.css" rel="stylesheet"> + <link href="css/form/form.min.css" rel="stylesheet"> + <link href="css/segmented/segmented.min.css" rel="stylesheet"> + </head> + <body> + <script type="text/javascript" nomodule href="js/legacy/legacy.nomodule.min.js" ></script> + <script type="module" href="js/core/core.module.min.js" ></script> + <script type="text/javascript" nomodule href="js/core/core.nomodule.min.js" ></script> + <script type="module" href="js/segmented/segmented.module.min.js" ></script> + <script type="text/javascript" nomodule href="js/segmented/segmented.nomodule.min.js" ></script> + </body> +</html> +``` + +## Documentation + +Consulter [la documentation](https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/controle-segmente) sur le module Contrôle segmenté \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.css b/design_system_admin/dsfr/component/segmented/segmented.css new file mode 100644 index 0000000000000000000000000000000000000000..587e3bcc85e6f2e598bfe8d941057487fb84d6c7 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.css @@ -0,0 +1,239 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; + +/* ¯¯¯¯¯¯¯¯¯ *\ + SEGMENTED +\* ˍˍˍˍˍˍˍˍˍ */ +.fr-segmented { + position: relative; + padding: 0; + margin: 0; + display: inline-flex; + align-items: center; + border: 0; +} + +.fr-segmented__legend { + margin-bottom: 0.75rem; + padding: 0; +} + +.fr-segmented__legend .fr-hint-text { + margin-top: 0.25rem; +} + +.fr-segmented__legend--inline { + float: left; + display: contents; +} + +.fr-segmented__legend--inline + .fr-segmented__elements { + margin-left: 1rem; +} + +.fr-segmented__elements { + display: flex; + flex-direction: row; + border-radius: 0.25rem; + box-shadow: inset 0 0 0 1px var(--border-default-grey); +} + +.fr-segmented__element { + position: relative; +} + +.fr-segmented .fr-segmented__element input { + opacity: 0; +} + +.fr-segmented input { + position: absolute; + margin: 0; + width: 100%; + height: 100%; + -webkit-tap-highlight-color: transparent; + z-index: -1; +} + +.fr-segmented input + label { + font-size: 1rem; + line-height: 1.5rem; + min-height: 2.5rem; + padding: 0.5rem 1rem; + overflow: initial; + max-width: 100%; + max-height: none; + width: 100%; + font-weight: 500; + display: inline-flex; + align-items: center; + border-radius: 0.25rem; + -webkit-tap-highlight-color: transparent; + white-space: nowrap; +} + +.fr-segmented input + label::before { + --icon-size: 1rem; + margin-left: -0.125rem; + margin-right: 0.5rem; +} + +.fr-segmented input:not([disabled]):not(:checked) + label { + -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"); + mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"); + -webkit-mask-size: calc(100% - 0.5rem) calc(100% - 0.75rem), calc(100% - 0.75rem) calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem; + mask-size: calc(100% - 0.5rem) calc(100% - 0.75rem), calc(100% - 0.75rem) calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem; + -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem); + mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; +} + +.fr-segmented input:not([disabled]):not(:checked) + label:hover { + background-color: var(--hover); +} + +.fr-segmented input:not([disabled]):not(:checked) + label:active { + background-color: var(--active); +} + +.fr-segmented--vertical .fr-segmented__elements { + flex-direction: column; + margin-left: 0; +} + +.fr-segmented--vertical .fr-segmented__legend--inline { + float: none; + display: block; +} + +.fr-segmented--no-legend legend { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; /* added line */ + border: 0; + display: block; +} + +.fr-segmented--no-legend legend + .fr-segmented__elements { + margin-left: 0; +} + +.fr-segmented__element input:focus + label { + outline-offset: 2px; + outline-width: 2px; + outline-color: #0a76f6; + outline-style: solid; +} + +.fr-segmented__element input:focus:not(:focus-visible) + label { + outline-style: none; +} + +.fr-segmented__element input:focus-visible + label { + outline-style: solid; +} + +.fr-segmented--sm .fr-segmented__legend { + font-size: 0.875rem; + line-height: 1.5rem; +} + +.fr-segmented--sm input + label { + font-size: 0.875rem; + line-height: 1.5rem; + min-height: 2rem; + padding: 0.25rem 0.75rem; + overflow: initial; + max-width: 100%; + max-height: none; +} + +.fr-segmented--sm input + label::before { + --icon-size: 1rem; + margin-left: -0.125rem; + margin-right: 0.5rem; +} + +.fr-segmented__element label { + color: var(--text-action-high-grey); +} + +.fr-segmented__element input:checked + label { + box-shadow: inset 0 0 0 1px var(--border-active-blue-france); + color: var(--text-active-blue-france); +} + +.fr-segmented__element input:checked:disabled + label { + box-shadow: inset 0 0 0 1px var(--text-disabled-grey); + color: var(--text-disabled-grey); +} +@media (min-width: 36em) { + /*! media sm */ + + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ + + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ + + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ + + /*! media xl */ +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .fr-segmented { + display: block; + } + + .fr-segmented--sm .fr-segmented__legend--inline { + margin: 0.25rem 0 0; + } + + .fr-segmented__legend--inline { + margin: 0.5rem 0 0; + } + + .fr-segmented__elements { + display: inline-flex; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-segmented input + label::before { + width: 1rem; + height: 1rem; + vertical-align: -2px; + } + + .fr-segmented input:focus + label::before { + outline: none; + } + + .fr-segmented__element label { + color: #161616; + } + + .fr-segmented__element input:checked + label { + box-shadow: inset 0 0 0 1px #000091; + color: #000091; + } + + .fr-segmented__element input:checked:disabled + label { + box-shadow: inset 0 0 0 1px #929292; + color: #929292; + } +} diff --git a/design_system_admin/dsfr/component/segmented/segmented.css.map b/design_system_admin/dsfr/component/segmented/segmented.css.map new file mode 100644 index 0000000000000000000000000000000000000000..87fc6eaed525dbfe11610ae934f7ae3262efae27 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%206WJzY1%3E","file:///Users/ket/Documents/work/dsfr/src/component/segmented/main.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_default.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_icon.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_font-weight.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_mask-image.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_sr-only.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_focus.scss","file:///Users/ket/Documents/work/dsfr/module/color/variable/_static.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;;ACKhB;;cAAA;ACGA;ECAE,kBAAA;ECyBE,UAfE;EAeF,SAfE;EFNJ,oBAAA;EACA,mBAAA;EACA,SAAA;AFSF;;AEPE;EEaI,sBAXA;EAeF,UAfE;AJSN;;AEPI;EESE,mBAXA;AJYN;;AENI;EACE,WAAA;EACA,iBAAA;AFQN;;AENM;EECA,iBAXA;AJmBN;;AEHE;EGvBE,aAAA;EAIA,mBAAA;EHqBA,sBAAA;EIKA,sDAAA;ANCJ;;AEHE;EC/BA,kBAAA;AHqCF;;AEDI;EACE,UAAA;AFGN;;AECE;ECzCA,kBAAA;ECyBE,SAfE;EGwCA,WAAA;EAGA,YAAA;ELRF,wCAAA;EACA,WAAA;AFEJ;;AEAI;EM5CF,eAAA;EACA,mBAFc;EAMZ,kBAFW;EAkBb,oBAAA;ECdE,iBAAA;EACA,eAAA;EACA,gBAAA;EFXE,WAAA;EGSJ,gBAAA;ERyCI,oBAAA;EACA,mBAAA;EACA,sBAAA;EACA,wCAAA;EACA,mBAAA;AFQN;;AWxDE;EFOI,iBAAA;EACA,sBAAA;EACA,oBATY;AT6DlB;;AETM;EU9DJ,8xBV+D0B;EU9D1B,sxBV8D0B;EU1D1B,yKV2D+B;EU1D/B,iKV0D+B;EUtD/B,iLVuDmC;EUtDnC,yKVsDmC;EUlDnC,8BVmDiC;EUlDjC,sBVkDiC;AFenC;;AEbQ;EACE,8BAAA;AFeV;;AEZQ;EACE,+BAAA;AFcV;;AEPI;EACE,sBAAA;EE1DA,cAXA;AJ+EN;;AENI;EACE,WAAA;EACA,cAAA;AFQN;;AEHI;EC1FF,kBAAA;EIkDI,UAAA;EAGA,WAAA;EH5BF,UAfE;EAeF,YAfE;ESRJ,gBAAA;EACA,sBAAA;EACA,mBAAA,EAAA,eAAA;EACA,SAAA;EACA,cAAA;AbmGF;;AEZM;EExEA,cAXA;AJkGN;;Ac1FE;EAgFE,mBAAA;EACA,kBAAA;EACA,sBC1GI;ED8GJ,oBAAA;AdUJ;;AchDE;EA0CE,mBAAA;AdcJ;;Ac/BE;EAqBE,oBAAA;AdcJ;;AgB7HE;ECiBA,mBAAA;EAGE,mBAAA;AjB8GJ;;AgB7HI;ERFF,mBAAA;EACA,mBAFc;EAMZ,gBAFW;EAkBb,wBAAA;ECdE,iBAAA;EACA,eAAA;EACA,gBAAA;AT+HJ;;AWpIE;EFOI,iBAAA;EACA,sBAAA;EACA,oBATY;ATyIlB;;AkBxIM;EZwBF,mCAAA;ANuHJ;;AkBzIU;EZkBN,4DAAA;EAAA,qCAAA;AN2HJ;;AkBvIY;EZYR,qDAAA;EAAA,gCAAA;AN+HJ;AmBzJI;ECRI,cAAA;;EAAA,cAAA;ApBDR;AmBSI;ECRI,cAAA;;EAAA,cAAA;ApBER;AmBMI;ECRI,cAAA;;EAAA,cAAA;ApBKR;AmBGI;ECRI,cAAA;;EAAA,cAAA;ApBQR;AqBNI;ECAF;IACE,cAAA;EtB+KF;;EsB5KI;IlBoBF,mBAfE;EJ0KJ;;EsB1KE;IlBeA,kBAfE;EJ6KJ;;EsBzKE;IACE,oBAAA;IhBkBF,gCAAA;ENyJF;;EWlLA;IJ0CI,WAAA;IAGA,YAAA;IejCE,oBAAA;EtB2KN;;EWvLA;IWkBM,aAAA;EtBwKN;;EkBzLI;IZwBF,cAAA;EN2KF;;EkB7LQ;IZkBN,mCAAA;IAAA,cAAA;ENgLF;;EkB5LU;IZYR,mCAAA;IAAA,cAAA;EN0LF;AAxBF","file":"segmented.css","sourcesContent":[null,"@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-segmented {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n border: 0;\n}\n.fr-segmented__legend {\n margin-bottom: 0.75rem;\n padding: 0;\n}\n.fr-segmented__legend .fr-hint-text {\n margin-top: 0.25rem;\n}\n.fr-segmented__legend--inline {\n float: left;\n display: contents;\n}\n.fr-segmented__legend--inline + .fr-segmented__elements {\n margin-left: 1rem;\n}\n.fr-segmented__elements {\n display: flex;\n flex-direction: row;\n border-radius: 0.25rem;\n}\n.fr-segmented__element {\n position: relative;\n}\n.fr-segmented .fr-segmented__element input {\n opacity: 0;\n}\n.fr-segmented input {\n position: absolute;\n margin: 0;\n width: 100%;\n height: 100%;\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n}\n.fr-segmented input + label {\n font-size: 1rem;\n line-height: 1.5rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n width: 100%;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n border-radius: 0.25rem;\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n}\n.fr-segmented input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label {\n -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n -webkit-mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:hover {\n background-color: var(--hover);\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:active {\n background-color: var(--active);\n}\n.fr-segmented--vertical .fr-segmented__elements {\n flex-direction: column;\n margin-left: 0;\n}\n.fr-segmented--vertical .fr-segmented__legend--inline {\n float: none;\n display: block;\n}\n.fr-segmented--no-legend legend {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n.fr-segmented--no-legend legend + .fr-segmented__elements {\n margin-left: 0;\n}\n\n.fr-segmented__element input:focus + label {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: #0a76f6;\n}\n\n.fr-segmented__element input:focus + label {\n outline-style: solid;\n}\n\n.fr-segmented__element input:focus:not(:focus-visible) + label {\n outline-style: none;\n}\n\n.fr-segmented__element input:focus-visible + label {\n outline-style: solid;\n}\n\n.fr-segmented--sm .fr-segmented__legend {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n.fr-segmented--sm input + label {\n font-size: 0.875rem;\n line-height: 1.5rem;\n min-height: 2rem;\n padding: 0.25rem 0.75rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n}\n.fr-segmented--sm input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n\n.fr-segmented__elements {\n box-shadow: inset 0 0 0 1px var(--border-default-grey);\n}\n.fr-segmented__element label {\n color: var(--text-action-high-grey);\n}\n.fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px var(--border-active-blue-france);\n color: var(--text-active-blue-france);\n}\n.fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px var(--text-disabled-grey);\n color: var(--text-disabled-grey);\n}\n\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented {\n display: block;\n }\n .fr-segmented--sm .fr-segmented__legend--inline {\n margin: 0.25rem 0 0;\n }\n .fr-segmented__legend--inline {\n margin: 0.5rem 0 0;\n }\n .fr-segmented__elements {\n display: inline-flex;\n }\n .fr-segmented input + label::before {\n width: 1rem;\n height: 1rem;\n vertical-align: -2px;\n }\n .fr-segmented input:focus + label::before {\n outline: none;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__elements {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element label {\n color: #161616;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px #929292;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n color: #929292;\n }\n}","////\n/// Segmented Main\n/// @group segmented\n////\n\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n\n@use 'module/path';\n@use 'module/shame/media-query';\n\n@include path.to-dist(2);\n@include media-query.order;\n\n@import 'index';\n@import 'style/module';\n@import 'style/scheme';\n\n@include _segmented-scheme;\n","////\n/// Semgented Module : semgented md\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)} {\n @include relative;\n @include padding(0);\n @include margin(0);\n display: inline-flex;\n align-items: center;\n border: 0;\n\n &__legend {\n @include margin-bottom(3v);\n @include padding(0);\n\n #{selector.ns(hint-text)} {\n @include margin-top(1v);\n }\n\n &--inline {\n float: left;\n display: contents;\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(4v);\n }\n }\n }\n\n &__elements {\n @include display-flex;\n border-radius: #{spacing.space(1v)};\n }\n\n &__element {\n @include relative;\n }\n\n & &__element {\n input {\n opacity: 0;\n }\n }\n\n input {\n @include absolute;\n @include margin(0);\n @include size(100%, 100%);\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n\n + label {\n @include nest-segmented-element(md, left);\n @include width(100%);\n @include font-weight(medium);\n display: inline-flex;\n align-items: center;\n border-radius: #{spacing.space(1v)};\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n }\n\n &:not([disabled]):not(:checked) {\n + label {\n @include mask-image((linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\")));\n @include mask-image-size((#{spacing.space('calc(100% - 2v) calc(100% - 3v)')}, #{spacing.space('calc(100% - 3v) calc(100% - 2v)')}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}));\n @include mask-image-position((#{spacing.space(1v 1.5v)}, #{spacing.space(1.5v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(calc(100% - 1v) 1v)}, #{spacing.space(1v calc(100% - 1v))}, #{spacing.space(calc(100% - 1v) calc(100% - 1v))}));\n @include mask-image-repeat(no-repeat);\n\n &:hover {\n background-color: var(--hover);\n }\n\n &:active {\n background-color: var(--active);\n }\n }\n }\n }\n\n &--vertical {\n #{selector.ns(segmented)}__elements {\n flex-direction: column;\n @include margin-left(0);\n }\n\n #{selector.ns(segmented)}__legend--inline {\n float: none;\n display: block;\n }\n }\n\n &--no-legend {\n legend {\n @include sr-only();\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(0);\n }\n }\n }\n}\n\n@include focusable((choices: (\n selector: '#{selector.ns(segmented__element)} input',\n focus: (\n selector: ' + label'\n )\n)));\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Link Tool : icons\n/// @group link\n////\n\n@use 'module/spacing';\n\n@mixin _build-link-icon($size-settings, $place, $size:md, $override-icon: true) {\n\n $icon-size: icon-size(map_get($size-settings, icon));\n\n @if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n }\n\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n $icon-margin-x: spacing.space(map_get($size-settings, icon-margin-x));\n\n @if $place == left {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include before {\n --icon-size: #{$icon-size};\n margin-left: -($icon-margin);\n margin-right: $icon-margin-x;\n }\n }\n @else if $place == right {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include icon-content(false, $override-icon) {\n --icon-size: #{$icon-size};\n margin-right: -($icon-margin);\n margin-left: $icon-margin-x;\n }\n }\n @else if $place == only {\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n overflow: hidden;\n white-space: nowrap;\n max-width: $min-height;\n max-height: $min-height;\n padding-left: $padding-x;\n padding-right: $padding-x;\n\n @include before {\n --icon-size: #{$icon-size};\n margin-left: 0;\n margin-right: $padding-x;\n }\n }\n}\n","////\n/// Core Tool : Typography font-weight\n/// @group core\n////\n\n/// Return font-weight value from font-weight map.\n///\n/// @param {String} $scale ['regular'] - Type scale value from `$weight-scale` (Default to 'regular' = 400)\n///\n/// @example scss - Set font-weight to bold (700)\n/// .foo {\n/// font-weight: font-weight('bold');\n/// }\n\n@function font-weight($scale: regular) {\n @return map-get($font-weight-scale, $scale);\n}\n\n@mixin font-weight($scale) {\n font-weight: font-weight($scale);\n}\n\n@mixin build-utillity-font-weight() {\n $fontWeightValues: map-get($font-weight-vars, values);\n @if $fontWeightValues == 'all' {\n $fontWeightValues: map-keys($font-weight-names);\n }\n @each $weight in $fontWeightValues {\n $name: map-get($font-weight-names, $weight);\n #{ns('text--' + $name)} {\n font-weight: #{$weight} !important;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : mask-image\n/// @group core\n////\n\n@mixin mask-image($value) {\n -webkit-mask-image: $value;\n mask-image: $value;\n}\n\n@mixin mask-image-size($value) {\n -webkit-mask-size: $value;\n mask-size: $value;\n}\n\n@mixin mask-image-position($value) {\n -webkit-mask-position: $value;\n mask-position: $value;\n}\n\n@mixin mask-image-repeat($value) {\n -webkit-mask-repeat: $value;\n mask-repeat: $value;\n}\n","////\n/// Core Tool : Display sr-only\n/// @group core\n////\n\n@mixin sr-only() {\n @include absolute;\n @include size(1px, 1px);\n @include padding(0);\n @include margin(-1px);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n\n@mixin sr-only-from() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-' + $bp)} {\n @include respond-from($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n\n@mixin sr-only-to() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-to-' + $bp)} {\n @include respond-to($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Action focus\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin focusable-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-not-visible($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-visible($elements: $action-elements) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus-visible', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus-visible', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable($elements: $action-elements) {\n @include focusable-selector($elements) {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: color.$focus;\n }\n\n @include focusable-selector-focus($elements) {\n outline-style: solid;\n }\n\n @include focusable-selector-focus-not-visible($elements) {\n outline-style: none;\n }\n\n @include focusable-selector-focus-visible($elements) {\n outline-style: solid;\n }\n}\n","@use 'options';\n\n$focus: #0a76f6;\n$absolute-black: #000;\n$black: nth(map-get(options.$values, grey-50), 1);\n$black-a0: rgba(nth(map-get(options.$values, grey-50), 1), 0);\n$black-a64: rgba(nth(map-get(options.$values, grey-50), 1), 64%);\n$white: nth(map-get(options.$values, grey-1000), 1);\n$blue-france: nth(map-get(options.$values, blue-france-sun-113), 1);\n$red-marianne: nth(map-get(options.$values, red-marianne-main-472), 1);\n","////\n/// Semgented Module : semgented sm\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)}--sm {\n #{selector.ns(segmented)}__legend {\n @include text-style(sm);\n }\n\n input {\n + label {\n @include nest-segmented-element(sm, left);\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Segmented Legacy\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/legacy';\n\n@include legacy.is(ie11) {\n #{selector.ns(segmented)} {\n display: block;\n\n &--sm {\n #{selector.ns(segmented__legend--inline)} {\n @include margin(1v 0 0);\n }\n }\n\n &__legend--inline {\n @include margin(2v 0 0);\n }\n\n &__elements {\n display: inline-flex;\n }\n\n input + label {\n @include icon-size-legacy(sm, before) {\n vertical-align: -2px;\n }\n }\n\n input:focus + label {\n @include before {\n outline: none;\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.legacy.css b/design_system_admin/dsfr/component/segmented/segmented.legacy.css new file mode 100644 index 0000000000000000000000000000000000000000..98f165f21472bc927d0a6de5c9b6401ce4771ff1 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.legacy.css @@ -0,0 +1,57 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media (min-width: 36em) { + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .fr-segmented { + display: block; + } + + .fr-segmented--sm .fr-segmented__legend--inline { + margin: 0.25rem 0 0; + } + + .fr-segmented__legend--inline { + margin: 0.5rem 0 0; + } + + .fr-segmented__elements { + display: inline-flex; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-segmented input + label::before { + width: 1rem; + height: 1rem; + vertical-align: -2px; + } + + .fr-segmented input:focus + label::before { + outline: none; + } + + .fr-segmented__element label { + color: #161616; + } + + .fr-segmented__element input:checked + label { + box-shadow: inset 0 0 0 1px #000091; + color: #000091; + } + + .fr-segmented__element input:checked:disabled + label { + box-shadow: inset 0 0 0 1px #929292; + color: #929292; + } +} diff --git a/design_system_admin/dsfr/component/segmented/segmented.legacy.css.map b/design_system_admin/dsfr/component/segmented/segmented.legacy.css.map new file mode 100644 index 0000000000000000000000000000000000000000..0a1a468851dcde5322f88b396fd4daf55a1516de --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.legacy.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","%3Cinput%20css%20NDxC_B%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA;ACeI;ECRI,cAAA;ACLR;AFaI;ECRI,cAAA;ACFR;AFUI;ECRI,cAAA;ACCR;AFOI;ECRI,cAAA;ACIR;ACFI;ECAF;IACE,cAAA;EFKF;;EEFI;ICoBF,mBAfE;EHAJ;;EEAE;ICeA,kBAfE;EHGJ;;EECE;IACE,oBAAA;IEkBF,gCAAA;EJjBF;;EKRA;IC0CI,WAAA;IAGA,YAAA;IJjCE,oBAAA;EFCN;;EKbA;IHkBM,aAAA;EFFN;;EOfI;IHwBF,cAAA;EJCF;;EOnBQ;IHkBN,mCAAA;IAAA,cAAA;EJMF;;EOlBU;IHYR,mCAAA;IAAA,cAAA;EJgBF;AAxBF","file":"segmented.legacy.css","sourcesContent":[null,"@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented {\n display: block;\n }\n .fr-segmented--sm .fr-segmented__legend--inline {\n margin: 0.25rem 0 0;\n }\n .fr-segmented__legend--inline {\n margin: 0.5rem 0 0;\n }\n .fr-segmented__elements {\n display: inline-flex;\n }\n .fr-segmented input + label::before {\n width: 1rem;\n height: 1rem;\n vertical-align: -2px;\n }\n .fr-segmented input:focus + label::before {\n outline: none;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__elements {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element label {\n color: #161616;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px #929292;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n color: #929292;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Segmented Legacy\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/legacy';\n\n@include legacy.is(ie11) {\n #{selector.ns(segmented)} {\n display: block;\n\n &--sm {\n #{selector.ns(segmented__legend--inline)} {\n @include margin(1v 0 0);\n }\n }\n\n &__legend--inline {\n @include margin(2v 0 0);\n }\n\n &__elements {\n display: inline-flex;\n }\n\n input + label {\n @include icon-size-legacy(sm, before) {\n vertical-align: -2px;\n }\n }\n\n input:focus + label {\n @include before {\n outline: none;\n }\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css b/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css new file mode 100644 index 0000000000000000000000000000000000000000..ed45a947c95f78343be1bacadd7986944a588b20 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css @@ -0,0 +1,7 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media (min-width:36em){ + /*! media sm */}@media (min-width:48em){ + /*! media md */}@media (min-width:62em){ + /*! media lg */}@media (min-width:78em){ + /*! media xl */}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.fr-segmented{display:block}.fr-segmented--sm .fr-segmented__legend--inline{margin:.25rem 0 0}.fr-segmented__legend--inline{margin:.5rem 0 0}.fr-segmented__elements{box-shadow:inset 0 0 0 1px #ddd;display:inline-flex}.fr-segmented input+label:before{height:1rem;vertical-align:-2px;width:1rem}.fr-segmented input:focus+label:before{outline:none}.fr-segmented__element label{color:#161616}.fr-segmented__element input:checked+label{box-shadow:inset 0 0 0 1px #000091;color:#000091}.fr-segmented__element input:checked:disabled+label{box-shadow:inset 0 0 0 1px #929292;color:#929292}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css.map b/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..991185a2d00aa9cefc0ee61411a433f056663e1a --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.legacy.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","%3Cinput%20css%20karpGt%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss"],"names":[],"mappings":"AAAA;;GAAA,ACeI;ECRI,cAAA,CCLR,CFaI;ECRI,cAAA,CCFR,CFUI;ECRI,cAAA,CCCR,CFOI;ECRI,cAAA,CCIR,CCFI,2DCAF,cACE,aFKF,CEFI,gDCoBF,iBHfF,CEAE,8BCeA,gBHZF,CECE,wBEmBA,+BAAA,CFlBE,mBFCJ,CKRA,iCC6CI,WAAA,CJjCE,mBAAA,CI8BF,UN7BJ,CKbA,uCHkBM,YFFN,COfI,6BHwBF,aJCF,COnBQ,2CHkBN,kCAAA,CAAA,aJMF,COlBU,oDHYR,kCAAA,CAAA,aJgBF,CAxBF","file":"segmented.legacy.min.css","sourcesContent":[null,"@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented {\n display: block;\n }\n .fr-segmented--sm .fr-segmented__legend--inline {\n margin: 0.25rem 0 0;\n }\n .fr-segmented__legend--inline {\n margin: 0.5rem 0 0;\n }\n .fr-segmented__elements {\n display: inline-flex;\n }\n .fr-segmented input + label::before {\n width: 1rem;\n height: 1rem;\n vertical-align: -2px;\n }\n .fr-segmented input:focus + label::before {\n outline: none;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__elements {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element label {\n color: #161616;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px #929292;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n color: #929292;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Segmented Legacy\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/legacy';\n\n@include legacy.is(ie11) {\n #{selector.ns(segmented)} {\n display: block;\n\n &--sm {\n #{selector.ns(segmented__legend--inline)} {\n @include margin(1v 0 0);\n }\n }\n\n &__legend--inline {\n @include margin(2v 0 0);\n }\n\n &__elements {\n display: inline-flex;\n }\n\n input + label {\n @include icon-size-legacy(sm, before) {\n vertical-align: -2px;\n }\n }\n\n input:focus + label {\n @include before {\n outline: none;\n }\n }\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.main.css b/design_system_admin/dsfr/component/segmented/segmented.main.css new file mode 100644 index 0000000000000000000000000000000000000000..d200c2345bfae2188b9334423d9bde95f4a25652 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.main.css @@ -0,0 +1,189 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; + +/* ¯¯¯¯¯¯¯¯¯ *\ + SEGMENTED +\* ˍˍˍˍˍˍˍˍˍ */ +.fr-segmented { + position: relative; + padding: 0; + margin: 0; + display: inline-flex; + align-items: center; + border: 0; +} + +.fr-segmented__legend { + margin-bottom: 0.75rem; + padding: 0; +} + +.fr-segmented__legend .fr-hint-text { + margin-top: 0.25rem; +} + +.fr-segmented__legend--inline { + float: left; + display: contents; +} + +.fr-segmented__legend--inline + .fr-segmented__elements { + margin-left: 1rem; +} + +.fr-segmented__elements { + display: flex; + flex-direction: row; + border-radius: 0.25rem; + box-shadow: inset 0 0 0 1px var(--border-default-grey); +} + +.fr-segmented__element { + position: relative; +} + +.fr-segmented .fr-segmented__element input { + opacity: 0; +} + +.fr-segmented input { + position: absolute; + margin: 0; + width: 100%; + height: 100%; + -webkit-tap-highlight-color: transparent; + z-index: -1; +} + +.fr-segmented input + label { + font-size: 1rem; + line-height: 1.5rem; + min-height: 2.5rem; + padding: 0.5rem 1rem; + overflow: initial; + max-width: 100%; + max-height: none; + width: 100%; + font-weight: 500; + display: inline-flex; + align-items: center; + border-radius: 0.25rem; + -webkit-tap-highlight-color: transparent; + white-space: nowrap; +} + +.fr-segmented input + label::before { + --icon-size: 1rem; + margin-left: -0.125rem; + margin-right: 0.5rem; +} + +.fr-segmented input:not([disabled]):not(:checked) + label { + -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"); + mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"), url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"); + -webkit-mask-size: calc(100% - 0.5rem) calc(100% - 0.75rem), calc(100% - 0.75rem) calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem; + mask-size: calc(100% - 0.5rem) calc(100% - 0.75rem), calc(100% - 0.75rem) calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem; + -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem); + mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; +} + +.fr-segmented input:not([disabled]):not(:checked) + label:hover { + background-color: var(--hover); +} + +.fr-segmented input:not([disabled]):not(:checked) + label:active { + background-color: var(--active); +} + +.fr-segmented--vertical .fr-segmented__elements { + flex-direction: column; + margin-left: 0; +} + +.fr-segmented--vertical .fr-segmented__legend--inline { + float: none; + display: block; +} + +.fr-segmented--no-legend legend { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; /* added line */ + border: 0; + display: block; +} + +.fr-segmented--no-legend legend + .fr-segmented__elements { + margin-left: 0; +} + +.fr-segmented__element input:focus + label { + outline-offset: 2px; + outline-width: 2px; + outline-color: #0a76f6; + outline-style: solid; +} + +.fr-segmented__element input:focus:not(:focus-visible) + label { + outline-style: none; +} + +.fr-segmented__element input:focus-visible + label { + outline-style: solid; +} + +.fr-segmented--sm .fr-segmented__legend { + font-size: 0.875rem; + line-height: 1.5rem; +} + +.fr-segmented--sm input + label { + font-size: 0.875rem; + line-height: 1.5rem; + min-height: 2rem; + padding: 0.25rem 0.75rem; + overflow: initial; + max-width: 100%; + max-height: none; +} + +.fr-segmented--sm input + label::before { + --icon-size: 1rem; + margin-left: -0.125rem; + margin-right: 0.5rem; +} + +.fr-segmented__element label { + color: var(--text-action-high-grey); +} + +.fr-segmented__element input:checked + label { + box-shadow: inset 0 0 0 1px var(--border-active-blue-france); + color: var(--text-active-blue-france); +} + +.fr-segmented__element input:checked:disabled + label { + box-shadow: inset 0 0 0 1px var(--text-disabled-grey); + color: var(--text-disabled-grey); +} +@media (min-width: 36em) { + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ +} diff --git a/design_system_admin/dsfr/component/segmented/segmented.main.css.map b/design_system_admin/dsfr/component/segmented/segmented.main.css.map new file mode 100644 index 0000000000000000000000000000000000000000..e21f955e85405790127f86c19df453a6a792262e --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20-qDuoI%3E","file:///Users/ket/Documents/work/dsfr/src/component/segmented/main.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_default.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_icon.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_font-weight.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_mask-image.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_sr-only.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_focus.scss","file:///Users/ket/Documents/work/dsfr/module/color/variable/_static.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;;ACKhB;;cAAA;ACGA;ECAE,kBAAA;ECyBE,UAfE;EAeF,SAfE;EFNJ,oBAAA;EACA,mBAAA;EACA,SAAA;AFSF;;AEPE;EEaI,sBAXA;EAeF,UAfE;AJSN;;AEPI;EESE,mBAXA;AJYN;;AENI;EACE,WAAA;EACA,iBAAA;AFQN;;AENM;EECA,iBAXA;AJmBN;;AEHE;EGvBE,aAAA;EAIA,mBAAA;EHqBA,sBAAA;EIKA,sDAAA;ANCJ;;AEHE;EC/BA,kBAAA;AHqCF;;AEDI;EACE,UAAA;AFGN;;AECE;ECzCA,kBAAA;ECyBE,SAfE;EGwCA,WAAA;EAGA,YAAA;ELRF,wCAAA;EACA,WAAA;AFEJ;;AEAI;EM5CF,eAAA;EACA,mBAFc;EAMZ,kBAFW;EAkBb,oBAAA;ECdE,iBAAA;EACA,eAAA;EACA,gBAAA;EFXE,WAAA;EGSJ,gBAAA;ERyCI,oBAAA;EACA,mBAAA;EACA,sBAAA;EACA,wCAAA;EACA,mBAAA;AFQN;;AWxDE;EFOI,iBAAA;EACA,sBAAA;EACA,oBATY;AT6DlB;;AETM;EU9DJ,8xBV+D0B;EU9D1B,sxBV8D0B;EU1D1B,yKV2D+B;EU1D/B,iKV0D+B;EUtD/B,iLVuDmC;EUtDnC,yKVsDmC;EUlDnC,8BVmDiC;EUlDjC,sBVkDiC;AFenC;;AEbQ;EACE,8BAAA;AFeV;;AEZQ;EACE,+BAAA;AFcV;;AEPI;EACE,sBAAA;EE1DA,cAXA;AJ+EN;;AENI;EACE,WAAA;EACA,cAAA;AFQN;;AEHI;EC1FF,kBAAA;EIkDI,UAAA;EAGA,WAAA;EH5BF,UAfE;EAeF,YAfE;ESRJ,gBAAA;EACA,sBAAA;EACA,mBAAA,EAAA,eAAA;EACA,SAAA;EACA,cAAA;AbmGF;;AEZM;EExEA,cAXA;AJkGN;;Ac1FE;EAgFE,mBAAA;EACA,kBAAA;EACA,sBC1GI;ED8GJ,oBAAA;AdUJ;;AchDE;EA0CE,mBAAA;AdcJ;;Ac/BE;EAqBE,oBAAA;AdcJ;;AgB7HE;ECiBA,mBAAA;EAGE,mBAAA;AjB8GJ;;AgB7HI;ERFF,mBAAA;EACA,mBAFc;EAMZ,gBAFW;EAkBb,wBAAA;ECdE,iBAAA;EACA,eAAA;EACA,gBAAA;AT+HJ;;AWpIE;EFOI,iBAAA;EACA,sBAAA;EACA,oBATY;ATyIlB;;AkBxIM;EZwBF,mCAAA;ANuHJ;;AkBzIU;EZkBN,4DAAA;EAAA,qCAAA;AN2HJ;;AkBvIY;EZYR,qDAAA;EAAA,gCAAA;AN+HJ;AmBzJI;ECRI,cAAA;ApBDR;AmBSI;ECRI,cAAA;ApBER;AmBMI;ECRI,cAAA;ApBKR;AmBGI;ECRI,cAAA;ApBQR","file":"segmented.main.css","sourcesContent":[null,"@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-segmented {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n border: 0;\n}\n.fr-segmented__legend {\n margin-bottom: 0.75rem;\n padding: 0;\n}\n.fr-segmented__legend .fr-hint-text {\n margin-top: 0.25rem;\n}\n.fr-segmented__legend--inline {\n float: left;\n display: contents;\n}\n.fr-segmented__legend--inline + .fr-segmented__elements {\n margin-left: 1rem;\n}\n.fr-segmented__elements {\n display: flex;\n flex-direction: row;\n border-radius: 0.25rem;\n}\n.fr-segmented__element {\n position: relative;\n}\n.fr-segmented .fr-segmented__element input {\n opacity: 0;\n}\n.fr-segmented input {\n position: absolute;\n margin: 0;\n width: 100%;\n height: 100%;\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n}\n.fr-segmented input + label {\n font-size: 1rem;\n line-height: 1.5rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n width: 100%;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n border-radius: 0.25rem;\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n}\n.fr-segmented input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label {\n -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n -webkit-mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:hover {\n background-color: var(--hover);\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:active {\n background-color: var(--active);\n}\n.fr-segmented--vertical .fr-segmented__elements {\n flex-direction: column;\n margin-left: 0;\n}\n.fr-segmented--vertical .fr-segmented__legend--inline {\n float: none;\n display: block;\n}\n.fr-segmented--no-legend legend {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n.fr-segmented--no-legend legend + .fr-segmented__elements {\n margin-left: 0;\n}\n\n.fr-segmented__element input:focus + label {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: #0a76f6;\n}\n\n.fr-segmented__element input:focus + label {\n outline-style: solid;\n}\n\n.fr-segmented__element input:focus:not(:focus-visible) + label {\n outline-style: none;\n}\n\n.fr-segmented__element input:focus-visible + label {\n outline-style: solid;\n}\n\n.fr-segmented--sm .fr-segmented__legend {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n.fr-segmented--sm input + label {\n font-size: 0.875rem;\n line-height: 1.5rem;\n min-height: 2rem;\n padding: 0.25rem 0.75rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n}\n.fr-segmented--sm input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n\n.fr-segmented__elements {\n box-shadow: inset 0 0 0 1px var(--border-default-grey);\n}\n.fr-segmented__element label {\n color: var(--text-action-high-grey);\n}\n.fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px var(--border-active-blue-france);\n color: var(--text-active-blue-france);\n}\n.fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px var(--text-disabled-grey);\n color: var(--text-disabled-grey);\n}","////\n/// Segmented Main\n/// @group segmented\n////\n\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n\n@use 'module/path';\n@use 'module/shame/media-query';\n\n@include path.to-dist(2);\n@include media-query.order;\n\n@import 'index';\n@import 'style/module';\n@import 'style/scheme';\n\n@include _segmented-scheme;\n","////\n/// Semgented Module : semgented md\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)} {\n @include relative;\n @include padding(0);\n @include margin(0);\n display: inline-flex;\n align-items: center;\n border: 0;\n\n &__legend {\n @include margin-bottom(3v);\n @include padding(0);\n\n #{selector.ns(hint-text)} {\n @include margin-top(1v);\n }\n\n &--inline {\n float: left;\n display: contents;\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(4v);\n }\n }\n }\n\n &__elements {\n @include display-flex;\n border-radius: #{spacing.space(1v)};\n }\n\n &__element {\n @include relative;\n }\n\n & &__element {\n input {\n opacity: 0;\n }\n }\n\n input {\n @include absolute;\n @include margin(0);\n @include size(100%, 100%);\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n\n + label {\n @include nest-segmented-element(md, left);\n @include width(100%);\n @include font-weight(medium);\n display: inline-flex;\n align-items: center;\n border-radius: #{spacing.space(1v)};\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n }\n\n &:not([disabled]):not(:checked) {\n + label {\n @include mask-image((linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\")));\n @include mask-image-size((#{spacing.space('calc(100% - 2v) calc(100% - 3v)')}, #{spacing.space('calc(100% - 3v) calc(100% - 2v)')}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}));\n @include mask-image-position((#{spacing.space(1v 1.5v)}, #{spacing.space(1.5v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(calc(100% - 1v) 1v)}, #{spacing.space(1v calc(100% - 1v))}, #{spacing.space(calc(100% - 1v) calc(100% - 1v))}));\n @include mask-image-repeat(no-repeat);\n\n &:hover {\n background-color: var(--hover);\n }\n\n &:active {\n background-color: var(--active);\n }\n }\n }\n }\n\n &--vertical {\n #{selector.ns(segmented)}__elements {\n flex-direction: column;\n @include margin-left(0);\n }\n\n #{selector.ns(segmented)}__legend--inline {\n float: none;\n display: block;\n }\n }\n\n &--no-legend {\n legend {\n @include sr-only();\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(0);\n }\n }\n }\n}\n\n@include focusable((choices: (\n selector: '#{selector.ns(segmented__element)} input',\n focus: (\n selector: ' + label'\n )\n)));\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Link Tool : icons\n/// @group link\n////\n\n@use 'module/spacing';\n\n@mixin _build-link-icon($size-settings, $place, $size:md, $override-icon: true) {\n\n $icon-size: icon-size(map_get($size-settings, icon));\n\n @if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n }\n\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n $icon-margin-x: spacing.space(map_get($size-settings, icon-margin-x));\n\n @if $place == left {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include before {\n --icon-size: #{$icon-size};\n margin-left: -($icon-margin);\n margin-right: $icon-margin-x;\n }\n }\n @else if $place == right {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include icon-content(false, $override-icon) {\n --icon-size: #{$icon-size};\n margin-right: -($icon-margin);\n margin-left: $icon-margin-x;\n }\n }\n @else if $place == only {\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n overflow: hidden;\n white-space: nowrap;\n max-width: $min-height;\n max-height: $min-height;\n padding-left: $padding-x;\n padding-right: $padding-x;\n\n @include before {\n --icon-size: #{$icon-size};\n margin-left: 0;\n margin-right: $padding-x;\n }\n }\n}\n","////\n/// Core Tool : Typography font-weight\n/// @group core\n////\n\n/// Return font-weight value from font-weight map.\n///\n/// @param {String} $scale ['regular'] - Type scale value from `$weight-scale` (Default to 'regular' = 400)\n///\n/// @example scss - Set font-weight to bold (700)\n/// .foo {\n/// font-weight: font-weight('bold');\n/// }\n\n@function font-weight($scale: regular) {\n @return map-get($font-weight-scale, $scale);\n}\n\n@mixin font-weight($scale) {\n font-weight: font-weight($scale);\n}\n\n@mixin build-utillity-font-weight() {\n $fontWeightValues: map-get($font-weight-vars, values);\n @if $fontWeightValues == 'all' {\n $fontWeightValues: map-keys($font-weight-names);\n }\n @each $weight in $fontWeightValues {\n $name: map-get($font-weight-names, $weight);\n #{ns('text--' + $name)} {\n font-weight: #{$weight} !important;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : mask-image\n/// @group core\n////\n\n@mixin mask-image($value) {\n -webkit-mask-image: $value;\n mask-image: $value;\n}\n\n@mixin mask-image-size($value) {\n -webkit-mask-size: $value;\n mask-size: $value;\n}\n\n@mixin mask-image-position($value) {\n -webkit-mask-position: $value;\n mask-position: $value;\n}\n\n@mixin mask-image-repeat($value) {\n -webkit-mask-repeat: $value;\n mask-repeat: $value;\n}\n","////\n/// Core Tool : Display sr-only\n/// @group core\n////\n\n@mixin sr-only() {\n @include absolute;\n @include size(1px, 1px);\n @include padding(0);\n @include margin(-1px);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n\n@mixin sr-only-from() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-' + $bp)} {\n @include respond-from($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n\n@mixin sr-only-to() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-to-' + $bp)} {\n @include respond-to($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Action focus\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin focusable-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-not-visible($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-visible($elements: $action-elements) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus-visible', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus-visible', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable($elements: $action-elements) {\n @include focusable-selector($elements) {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: color.$focus;\n }\n\n @include focusable-selector-focus($elements) {\n outline-style: solid;\n }\n\n @include focusable-selector-focus-not-visible($elements) {\n outline-style: none;\n }\n\n @include focusable-selector-focus-visible($elements) {\n outline-style: solid;\n }\n}\n","@use 'options';\n\n$focus: #0a76f6;\n$absolute-black: #000;\n$black: nth(map-get(options.$values, grey-50), 1);\n$black-a0: rgba(nth(map-get(options.$values, grey-50), 1), 0);\n$black-a64: rgba(nth(map-get(options.$values, grey-50), 1), 64%);\n$white: nth(map-get(options.$values, grey-1000), 1);\n$blue-france: nth(map-get(options.$values, blue-france-sun-113), 1);\n$red-marianne: nth(map-get(options.$values, red-marianne-main-472), 1);\n","////\n/// Semgented Module : semgented sm\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)}--sm {\n #{selector.ns(segmented)}__legend {\n @include text-style(sm);\n }\n\n input {\n + label {\n @include nest-segmented-element(sm, left);\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.main.min.css b/design_system_admin/dsfr/component/segmented/segmented.main.min.css new file mode 100644 index 0000000000000000000000000000000000000000..6fecaaef25117f7f62f85d304e6cfc595d39d25f --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.main.min.css @@ -0,0 +1,7 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */.fr-segmented{align-items:center;border:0;display:inline-flex;margin:0;padding:0;position:relative}.fr-segmented__legend{margin-bottom:.75rem;padding:0}.fr-segmented__legend .fr-hint-text{margin-top:.25rem}.fr-segmented__legend--inline{display:contents;float:left}.fr-segmented__legend--inline+.fr-segmented__elements{margin-left:1rem}.fr-segmented__elements{border-radius:.25rem;box-shadow:inset 0 0 0 1px var(--border-default-grey);display:flex;flex-direction:row}.fr-segmented__element{position:relative}.fr-segmented .fr-segmented__element input{opacity:0}.fr-segmented input{height:100%;margin:0;position:absolute;z-index:-1}.fr-segmented input,.fr-segmented input+label{-webkit-tap-highlight-color:transparent;width:100%}.fr-segmented input+label{align-items:center;border-radius:.25rem;display:inline-flex;font-size:1rem;font-weight:500;line-height:1.5rem;max-height:none;max-width:100%;min-height:2.5rem;overflow:initial;padding:.5rem 1rem;white-space:nowrap}.fr-segmented input+label:before{--icon-size:1rem;margin-left:-.125rem;margin-right:.5rem}.fr-segmented input:not([disabled]):not(:checked)+label{-webkit-mask-image:linear-gradient(0deg,#fff,#fff),linear-gradient(0deg,#fff,#fff),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>");mask-image:linear-gradient(0deg,#fff,#fff),linear-gradient(0deg,#fff,#fff),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>");-webkit-mask-position:.25rem .375rem,.375rem .25rem,.25rem .25rem,calc(100% - .25rem) .25rem,.25rem calc(100% - .25rem),calc(100% - .25rem) calc(100% - .25rem);mask-position:.25rem .375rem,.375rem .25rem,.25rem .25rem,calc(100% - .25rem) .25rem,.25rem calc(100% - .25rem),calc(100% - .25rem) calc(100% - .25rem);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(100% - .5rem)calc(100% - .75rem),calc(100% - .75rem)calc(100% - .5rem),.25rem .25rem,.25rem .25rem,.25rem .25rem,.25rem .25rem;mask-size:calc(100% - .5rem)calc(100% - .75rem),calc(100% - .75rem)calc(100% - .5rem),.25rem .25rem,.25rem .25rem,.25rem .25rem,.25rem .25rem}.fr-segmented input:not([disabled]):not(:checked)+label:hover{background-color:var(--hover)}.fr-segmented input:not([disabled]):not(:checked)+label:active{background-color:var(--active)}.fr-segmented--vertical .fr-segmented__elements{flex-direction:column;margin-left:0}.fr-segmented--vertical .fr-segmented__legend--inline{display:block;float:none}.fr-segmented--no-legend legend{clip:rect(0,0,0,0);border:0;display:block;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.fr-segmented--no-legend legend+.fr-segmented__elements{margin-left:0}.fr-segmented__element input:focus+label{outline-color:#0a76f6;outline-offset:2px;outline-style:solid;outline-width:2px}.fr-segmented__element input:focus:not(:focus-visible)+label{outline-style:none}.fr-segmented__element input:focus-visible+label{outline-style:solid}.fr-segmented--sm .fr-segmented__legend,.fr-segmented--sm input+label{font-size:.875rem;line-height:1.5rem}.fr-segmented--sm input+label{max-height:none;max-width:100%;min-height:2rem;overflow:initial;padding:.25rem .75rem}.fr-segmented--sm input+label:before{--icon-size:1rem;margin-left:-.125rem;margin-right:.5rem}.fr-segmented__element label{color:var(--text-action-high-grey)}.fr-segmented__element input:checked+label{box-shadow:inset 0 0 0 1px var(--border-active-blue-france);color:var(--text-active-blue-france)}.fr-segmented__element input:checked:disabled+label{box-shadow:inset 0 0 0 1px var(--text-disabled-grey);color:var(--text-disabled-grey)}@media (min-width:36em){ + /*! media sm */}@media (min-width:48em){ + /*! media md */}@media (min-width:62em){ + /*! media lg */}@media (min-width:78em){ + /*! media xl */} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.main.min.css.map b/design_system_admin/dsfr/component/segmented/segmented.main.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..bc26829a551be54b8e1331adfc095dc89b48e6ee --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.main.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_default.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","%3Cinput%20css%20szV8Mf%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_font-weight.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_icon.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_mask-image.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_sr-only.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_focus.scss","file:///Users/ket/Documents/work/dsfr/module/color/variable/_static.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA,ACQA,cAKE,kBAAA,CACA,QAAA,CAFA,mBAAA,CCqBE,QAfE,CAeF,SAfE,CCVJ,iBCeF,CHPE,sBCaI,oBAXA,CAeF,SENJ,CHPI,oCCSE,iBECN,CHNI,8BAEE,gBAAA,CADA,UGSN,CHNM,sDCCA,gBEQN,CHHE,wBAEE,oBAAA,CIKA,qDAAA,CC9BA,YAAA,CAIA,kBF2BJ,CHHE,uBE/BA,iBCqCF,CHDI,2CACE,SGGN,CHCE,oBMYI,WAAA,CL5BF,QAfE,CCVJ,iBAAA,CF8CE,UGEJ,CHAI,8CAHA,uCAAA,CMKE,UHcN,CHhBI,0BAKE,kBAAA,CACA,oBAAA,CAFA,mBAAA,COhDJ,cAAA,CCOA,eAAA,CDNA,kBAFc,CEUZ,eAAA,CADA,cAAA,CFHA,iBAFW,CEIX,gBAAA,CFcF,kBAAA,CP+BI,kBGQN,COxDE,iCDOI,gBAAA,CACA,oBAAA,CACA,kBNoDN,CHTM,wDW9DJ,swBX+D0B,CW9D1B,8vBX8D0B,CWrD1B,+JXuDmC,CWtDnC,uJXsDmC,CWlDnC,6BXmDiC,CWlDjC,qBXkDiC,CW7DjC,qJX2D+B,CW1D/B,6IR2EF,CHbQ,8DACE,6BGeV,CHZQ,+DACE,8BGcV,CHPI,gDACE,qBAAA,CC1DA,aEoEN,CHNI,sDAEE,aAAA,CADA,UGSN,CHHI,gCYvFF,kBAAA,CAEA,QAAA,CACA,aAAA,CN+CI,UAAA,CL5BF,WAfE,CWRJ,eAAA,CXuBE,SAfE,CCVJ,iBAAA,CUIA,kBAAA,CN8CI,SHuDN,CHZM,wDCxEA,aEuFN,CU1FE,yCAkFE,qBC1GI,CDwGJ,kBAAA,CAMA,mBAAA,CALA,iBVeJ,CUhDE,6DA0CE,kBVcJ,CU/BE,iDAqBE,mBVcJ,CYxHI,sECYF,iBAAA,CAGE,kBbuHJ,CYtII,8BNOA,eAAA,CADA,cAAA,CFHA,eAFW,CEIX,gBAAA,CFcF,qBJmHF,COpIE,qCDOI,gBAAA,CACA,oBAAA,CACA,kBNgIN,CcxIM,6BbwBF,kCDuHJ,CczIU,2CbkBN,2DAAA,CAAA,oCD2HJ,CcvIY,oDbYR,oDAAA,CAAA,+BD+HJ,CezJI;ECRI,cAAA,ChBDR,CeSI;ECRI,cAAA,ChBER,CeMI;ECRI,cAAA,ChBKR,CeGI;ECRI,cAAA,ChBQR","file":"segmented.main.min.css","sourcesContent":[null,"////\n/// Semgented Module : semgented md\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)} {\n @include relative;\n @include padding(0);\n @include margin(0);\n display: inline-flex;\n align-items: center;\n border: 0;\n\n &__legend {\n @include margin-bottom(3v);\n @include padding(0);\n\n #{selector.ns(hint-text)} {\n @include margin-top(1v);\n }\n\n &--inline {\n float: left;\n display: contents;\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(4v);\n }\n }\n }\n\n &__elements {\n @include display-flex;\n border-radius: #{spacing.space(1v)};\n }\n\n &__element {\n @include relative;\n }\n\n & &__element {\n input {\n opacity: 0;\n }\n }\n\n input {\n @include absolute;\n @include margin(0);\n @include size(100%, 100%);\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n\n + label {\n @include nest-segmented-element(md, left);\n @include width(100%);\n @include font-weight(medium);\n display: inline-flex;\n align-items: center;\n border-radius: #{spacing.space(1v)};\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n }\n\n &:not([disabled]):not(:checked) {\n + label {\n @include mask-image((linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\")));\n @include mask-image-size((#{spacing.space('calc(100% - 2v) calc(100% - 3v)')}, #{spacing.space('calc(100% - 3v) calc(100% - 2v)')}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}));\n @include mask-image-position((#{spacing.space(1v 1.5v)}, #{spacing.space(1.5v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(calc(100% - 1v) 1v)}, #{spacing.space(1v calc(100% - 1v))}, #{spacing.space(calc(100% - 1v) calc(100% - 1v))}));\n @include mask-image-repeat(no-repeat);\n\n &:hover {\n background-color: var(--hover);\n }\n\n &:active {\n background-color: var(--active);\n }\n }\n }\n }\n\n &--vertical {\n #{selector.ns(segmented)}__elements {\n flex-direction: column;\n @include margin-left(0);\n }\n\n #{selector.ns(segmented)}__legend--inline {\n float: none;\n display: block;\n }\n }\n\n &--no-legend {\n legend {\n @include sr-only();\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(0);\n }\n }\n }\n}\n\n@include focusable((choices: (\n selector: '#{selector.ns(segmented__element)} input',\n focus: (\n selector: ' + label'\n )\n)));\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-segmented {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n border: 0;\n}\n.fr-segmented__legend {\n margin-bottom: 0.75rem;\n padding: 0;\n}\n.fr-segmented__legend .fr-hint-text {\n margin-top: 0.25rem;\n}\n.fr-segmented__legend--inline {\n float: left;\n display: contents;\n}\n.fr-segmented__legend--inline + .fr-segmented__elements {\n margin-left: 1rem;\n}\n.fr-segmented__elements {\n display: flex;\n flex-direction: row;\n border-radius: 0.25rem;\n}\n.fr-segmented__element {\n position: relative;\n}\n.fr-segmented .fr-segmented__element input {\n opacity: 0;\n}\n.fr-segmented input {\n position: absolute;\n margin: 0;\n width: 100%;\n height: 100%;\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n}\n.fr-segmented input + label {\n font-size: 1rem;\n line-height: 1.5rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n width: 100%;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n border-radius: 0.25rem;\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n}\n.fr-segmented input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label {\n -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n -webkit-mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:hover {\n background-color: var(--hover);\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:active {\n background-color: var(--active);\n}\n.fr-segmented--vertical .fr-segmented__elements {\n flex-direction: column;\n margin-left: 0;\n}\n.fr-segmented--vertical .fr-segmented__legend--inline {\n float: none;\n display: block;\n}\n.fr-segmented--no-legend legend {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n.fr-segmented--no-legend legend + .fr-segmented__elements {\n margin-left: 0;\n}\n\n.fr-segmented__element input:focus + label {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: #0a76f6;\n}\n\n.fr-segmented__element input:focus + label {\n outline-style: solid;\n}\n\n.fr-segmented__element input:focus:not(:focus-visible) + label {\n outline-style: none;\n}\n\n.fr-segmented__element input:focus-visible + label {\n outline-style: solid;\n}\n\n.fr-segmented--sm .fr-segmented__legend {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n.fr-segmented--sm input + label {\n font-size: 0.875rem;\n line-height: 1.5rem;\n min-height: 2rem;\n padding: 0.25rem 0.75rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n}\n.fr-segmented--sm input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n\n.fr-segmented__elements {\n box-shadow: inset 0 0 0 1px var(--border-default-grey);\n}\n.fr-segmented__element label {\n color: var(--text-action-high-grey);\n}\n.fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px var(--border-active-blue-france);\n color: var(--text-active-blue-france);\n}\n.fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px var(--text-disabled-grey);\n color: var(--text-disabled-grey);\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Typography font-weight\n/// @group core\n////\n\n/// Return font-weight value from font-weight map.\n///\n/// @param {String} $scale ['regular'] - Type scale value from `$weight-scale` (Default to 'regular' = 400)\n///\n/// @example scss - Set font-weight to bold (700)\n/// .foo {\n/// font-weight: font-weight('bold');\n/// }\n\n@function font-weight($scale: regular) {\n @return map-get($font-weight-scale, $scale);\n}\n\n@mixin font-weight($scale) {\n font-weight: font-weight($scale);\n}\n\n@mixin build-utillity-font-weight() {\n $fontWeightValues: map-get($font-weight-vars, values);\n @if $fontWeightValues == 'all' {\n $fontWeightValues: map-keys($font-weight-names);\n }\n @each $weight in $fontWeightValues {\n $name: map-get($font-weight-names, $weight);\n #{ns('text--' + $name)} {\n font-weight: #{$weight} !important;\n }\n }\n}\n","////\n/// Link Tool : icons\n/// @group link\n////\n\n@use 'module/spacing';\n\n@mixin _build-link-icon($size-settings, $place, $size:md, $override-icon: true) {\n\n $icon-size: icon-size(map_get($size-settings, icon));\n\n @if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n }\n\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n $icon-margin-x: spacing.space(map_get($size-settings, icon-margin-x));\n\n @if $place == left {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include before {\n --icon-size: #{$icon-size};\n margin-left: -($icon-margin);\n margin-right: $icon-margin-x;\n }\n }\n @else if $place == right {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include icon-content(false, $override-icon) {\n --icon-size: #{$icon-size};\n margin-right: -($icon-margin);\n margin-left: $icon-margin-x;\n }\n }\n @else if $place == only {\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n overflow: hidden;\n white-space: nowrap;\n max-width: $min-height;\n max-height: $min-height;\n padding-left: $padding-x;\n padding-right: $padding-x;\n\n @include before {\n --icon-size: #{$icon-size};\n margin-left: 0;\n margin-right: $padding-x;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : mask-image\n/// @group core\n////\n\n@mixin mask-image($value) {\n -webkit-mask-image: $value;\n mask-image: $value;\n}\n\n@mixin mask-image-size($value) {\n -webkit-mask-size: $value;\n mask-size: $value;\n}\n\n@mixin mask-image-position($value) {\n -webkit-mask-position: $value;\n mask-position: $value;\n}\n\n@mixin mask-image-repeat($value) {\n -webkit-mask-repeat: $value;\n mask-repeat: $value;\n}\n","////\n/// Core Tool : Display sr-only\n/// @group core\n////\n\n@mixin sr-only() {\n @include absolute;\n @include size(1px, 1px);\n @include padding(0);\n @include margin(-1px);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n\n@mixin sr-only-from() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-' + $bp)} {\n @include respond-from($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n\n@mixin sr-only-to() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-to-' + $bp)} {\n @include respond-to($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Action focus\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin focusable-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-not-visible($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-visible($elements: $action-elements) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus-visible', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus-visible', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable($elements: $action-elements) {\n @include focusable-selector($elements) {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: color.$focus;\n }\n\n @include focusable-selector-focus($elements) {\n outline-style: solid;\n }\n\n @include focusable-selector-focus-not-visible($elements) {\n outline-style: none;\n }\n\n @include focusable-selector-focus-visible($elements) {\n outline-style: solid;\n }\n}\n","@use 'options';\n\n$focus: #0a76f6;\n$absolute-black: #000;\n$black: nth(map-get(options.$values, grey-50), 1);\n$black-a0: rgba(nth(map-get(options.$values, grey-50), 1), 0);\n$black-a64: rgba(nth(map-get(options.$values, grey-50), 1), 64%);\n$white: nth(map-get(options.$values, grey-1000), 1);\n$blue-france: nth(map-get(options.$values, blue-france-sun-113), 1);\n$red-marianne: nth(map-get(options.$values, red-marianne-main-472), 1);\n","////\n/// Semgented Module : semgented sm\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)}--sm {\n #{selector.ns(segmented)}__legend {\n @include text-style(sm);\n }\n\n input {\n + label {\n @include nest-segmented-element(sm, left);\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.min.css b/design_system_admin/dsfr/component/segmented/segmented.min.css new file mode 100644 index 0000000000000000000000000000000000000000..f00f3cdc73d2f626e37120838c5414a841ea2ddb --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.min.css @@ -0,0 +1,11 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */.fr-segmented{align-items:center;border:0;display:inline-flex;margin:0;padding:0;position:relative}.fr-segmented__legend{margin-bottom:.75rem;padding:0}.fr-segmented__legend .fr-hint-text{margin-top:.25rem}.fr-segmented__legend--inline{display:contents;float:left}.fr-segmented__legend--inline+.fr-segmented__elements{margin-left:1rem}.fr-segmented__elements{border-radius:.25rem;box-shadow:inset 0 0 0 1px var(--border-default-grey);display:flex;flex-direction:row}.fr-segmented__element{position:relative}.fr-segmented .fr-segmented__element input{opacity:0}.fr-segmented input{height:100%;margin:0;position:absolute;z-index:-1}.fr-segmented input,.fr-segmented input+label{-webkit-tap-highlight-color:transparent;width:100%}.fr-segmented input+label{align-items:center;border-radius:.25rem;display:inline-flex;font-size:1rem;font-weight:500;line-height:1.5rem;max-height:none;max-width:100%;min-height:2.5rem;overflow:initial;padding:.5rem 1rem;white-space:nowrap}.fr-segmented input+label:before{--icon-size:1rem;margin-left:-.125rem;margin-right:.5rem}.fr-segmented input:not([disabled]):not(:checked)+label{-webkit-mask-image:linear-gradient(0deg,#fff,#fff),linear-gradient(0deg,#fff,#fff),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>");mask-image:linear-gradient(0deg,#fff,#fff),linear-gradient(0deg,#fff,#fff),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>"),url("data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>");-webkit-mask-position:.25rem .375rem,.375rem .25rem,.25rem .25rem,calc(100% - .25rem) .25rem,.25rem calc(100% - .25rem),calc(100% - .25rem) calc(100% - .25rem);mask-position:.25rem .375rem,.375rem .25rem,.25rem .25rem,calc(100% - .25rem) .25rem,.25rem calc(100% - .25rem),calc(100% - .25rem) calc(100% - .25rem);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(100% - .5rem)calc(100% - .75rem),calc(100% - .75rem)calc(100% - .5rem),.25rem .25rem,.25rem .25rem,.25rem .25rem,.25rem .25rem;mask-size:calc(100% - .5rem)calc(100% - .75rem),calc(100% - .75rem)calc(100% - .5rem),.25rem .25rem,.25rem .25rem,.25rem .25rem,.25rem .25rem}.fr-segmented input:not([disabled]):not(:checked)+label:hover{background-color:var(--hover)}.fr-segmented input:not([disabled]):not(:checked)+label:active{background-color:var(--active)}.fr-segmented--vertical .fr-segmented__elements{flex-direction:column;margin-left:0}.fr-segmented--vertical .fr-segmented__legend--inline{display:block;float:none}.fr-segmented--no-legend legend{clip:rect(0,0,0,0);border:0;display:block;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.fr-segmented--no-legend legend+.fr-segmented__elements{margin-left:0}.fr-segmented__element input:focus+label{outline-color:#0a76f6;outline-offset:2px;outline-style:solid;outline-width:2px}.fr-segmented__element input:focus:not(:focus-visible)+label{outline-style:none}.fr-segmented__element input:focus-visible+label{outline-style:solid}.fr-segmented--sm .fr-segmented__legend,.fr-segmented--sm input+label{font-size:.875rem;line-height:1.5rem}.fr-segmented--sm input+label{max-height:none;max-width:100%;min-height:2rem;overflow:initial;padding:.25rem .75rem}.fr-segmented--sm input+label:before{--icon-size:1rem;margin-left:-.125rem;margin-right:.5rem}.fr-segmented__element label{color:var(--text-action-high-grey)}.fr-segmented__element input:checked+label{box-shadow:inset 0 0 0 1px var(--border-active-blue-france);color:var(--text-active-blue-france)}.fr-segmented__element input:checked:disabled+label{box-shadow:inset 0 0 0 1px var(--text-disabled-grey);color:var(--text-disabled-grey)}@media (min-width:36em){ + /*! media sm */ + /*! media sm */}@media (min-width:48em){ + /*! media md */ + /*! media md */}@media (min-width:62em){ + /*! media lg */ + /*! media lg */}@media (min-width:78em){ + /*! media xl */ + /*! media xl */}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.fr-segmented{display:block}.fr-segmented--sm .fr-segmented__legend--inline{margin:.25rem 0 0}.fr-segmented__legend--inline{margin:.5rem 0 0}.fr-segmented__elements{box-shadow:inset 0 0 0 1px #ddd;display:inline-flex}.fr-segmented input+label:before{height:1rem;vertical-align:-2px;width:1rem}.fr-segmented input:focus+label:before{outline:none}.fr-segmented__element label{color:#161616}.fr-segmented__element input:checked+label{box-shadow:inset 0 0 0 1px #000091;color:#000091}.fr-segmented__element input:checked:disabled+label{box-shadow:inset 0 0 0 1px #929292;color:#929292}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.min.css.map b/design_system_admin/dsfr/component/segmented/segmented.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..87748a5835b7f311edc7cd89f0bdbbc20d2c38f7 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_default.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_position.scss","%3Cinput%20css%20sNsN14%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_display.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_font-weight.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_icon.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_mask-image.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/tool/_sr-only.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_focus.scss","file:///Users/ket/Documents/work/dsfr/module/color/variable/_static.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/module/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/src/component/segmented/style/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACQA,cAKE,kBAAA,CACA,QAAA,CAFA,mBAAA,CCqBE,QAfE,CAeF,SAfE,CCVJ,iBCeF,CHPE,sBCaI,oBAXA,CAeF,SENJ,CHPI,oCCSE,iBECN,CHNI,8BAEE,gBAAA,CADA,UGSN,CHNM,sDCCA,gBEQN,CHHE,wBAEE,oBAAA,CIKA,qDAAA,CC9BA,YAAA,CAIA,kBF2BJ,CHHE,uBE/BA,iBCqCF,CHDI,2CACE,SGGN,CHCE,oBMYI,WAAA,CL5BF,QAfE,CCVJ,iBAAA,CF8CE,UGEJ,CHAI,8CAHA,uCAAA,CMKE,UHcN,CHhBI,0BAKE,kBAAA,CACA,oBAAA,CAFA,mBAAA,COhDJ,cAAA,CCOA,eAAA,CDNA,kBAFc,CEUZ,eAAA,CADA,cAAA,CFHA,iBAFW,CEIX,gBAAA,CFcF,kBAAA,CP+BI,kBGQN,COxDE,iCDOI,gBAAA,CACA,oBAAA,CACA,kBNoDN,CHTM,wDW9DJ,swBX+D0B,CW9D1B,8vBX8D0B,CWrD1B,+JXuDmC,CWtDnC,uJXsDmC,CWlDnC,6BXmDiC,CWlDjC,qBXkDiC,CW7DjC,qJX2D+B,CW1D/B,6IR2EF,CHbQ,8DACE,6BGeV,CHZQ,+DACE,8BGcV,CHPI,gDACE,qBAAA,CC1DA,aEoEN,CHNI,sDAEE,aAAA,CADA,UGSN,CHHI,gCYvFF,kBAAA,CAEA,QAAA,CACA,aAAA,CN+CI,UAAA,CL5BF,WAfE,CWRJ,eAAA,CXuBE,SAfE,CCVJ,iBAAA,CUIA,kBAAA,CN8CI,SHuDN,CHZM,wDCxEA,aEuFN,CU1FE,yCAkFE,qBC1GI,CDwGJ,kBAAA,CAMA,mBAAA,CALA,iBVeJ,CUhDE,6DA0CE,kBVcJ,CU/BE,iDAqBE,mBVcJ,CYxHI,sECYF,iBAAA,CAGE,kBbuHJ,CYtII,8BNOA,eAAA,CADA,cAAA,CFHA,eAFW,CEIX,gBAAA,CFcF,qBJmHF,COpIE,qCDOI,gBAAA,CACA,oBAAA,CACA,kBNgIN,CcxIM,6BbwBF,kCDuHJ,CczIU,2CbkBN,2DAAA,CAAA,oCD2HJ,CcvIY,oDbYR,oDAAA,CAAA,+BD+HJ,CezJI;ECRI,cAAA;EAAA,cAAA,ChBDR,CeSI;ECRI,cAAA;EAAA,cAAA,ChBER,CeMI;ECRI,cAAA;EAAA,cAAA,ChBKR,CeGI;ECRI,cAAA;EAAA,cAAA,ChBQR,CiBNI,2DCAF,cACE,alB+KF,CkB5KI,gDpBoBF,iBE2JF,CkB1KE,8BpBeA,gBE8JF,CkBzKE,wBjBmBA,+BAAA,CiBlBE,mBlB2KJ,COlLA,iCJ6CI,WAAA,CejCE,mBAAA,Cf8BF,UH6IJ,COvLA,uCWkBM,YlBwKN,CczLI,6BbwBF,aD2KF,Cc7LQ,2CbkBN,kCAAA,CAAA,aDgLF,Cc5LU,oDbYR,kCAAA,CAAA,aD0LF,CAxBF","file":"segmented.min.css","sourcesContent":[null,"////\n/// Semgented Module : semgented md\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)} {\n @include relative;\n @include padding(0);\n @include margin(0);\n display: inline-flex;\n align-items: center;\n border: 0;\n\n &__legend {\n @include margin-bottom(3v);\n @include padding(0);\n\n #{selector.ns(hint-text)} {\n @include margin-top(1v);\n }\n\n &--inline {\n float: left;\n display: contents;\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(4v);\n }\n }\n }\n\n &__elements {\n @include display-flex;\n border-radius: #{spacing.space(1v)};\n }\n\n &__element {\n @include relative;\n }\n\n & &__element {\n input {\n opacity: 0;\n }\n }\n\n input {\n @include absolute;\n @include margin(0);\n @include size(100%, 100%);\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n\n + label {\n @include nest-segmented-element(md, left);\n @include width(100%);\n @include font-weight(medium);\n display: inline-flex;\n align-items: center;\n border-radius: #{spacing.space(1v)};\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n }\n\n &:not([disabled]):not(:checked) {\n + label {\n @include mask-image((linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\"), url(\"#{$rounded-corner-svg}\")));\n @include mask-image-size((#{spacing.space('calc(100% - 2v) calc(100% - 3v)')}, #{spacing.space('calc(100% - 3v) calc(100% - 2v)')}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(1v 1v)}));\n @include mask-image-position((#{spacing.space(1v 1.5v)}, #{spacing.space(1.5v 1v)}, #{spacing.space(1v 1v)}, #{spacing.space(calc(100% - 1v) 1v)}, #{spacing.space(1v calc(100% - 1v))}, #{spacing.space(calc(100% - 1v) calc(100% - 1v))}));\n @include mask-image-repeat(no-repeat);\n\n &:hover {\n background-color: var(--hover);\n }\n\n &:active {\n background-color: var(--active);\n }\n }\n }\n }\n\n &--vertical {\n #{selector.ns(segmented)}__elements {\n flex-direction: column;\n @include margin-left(0);\n }\n\n #{selector.ns(segmented)}__legend--inline {\n float: none;\n display: block;\n }\n }\n\n &--no-legend {\n legend {\n @include sr-only();\n\n + #{selector.ns(segmented)}__elements {\n @include margin-left(0);\n }\n }\n }\n}\n\n@include focusable((choices: (\n selector: '#{selector.ns(segmented__element)} input',\n focus: (\n selector: ' + label'\n )\n)));\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Spacing position\n/// @group core\n////\n\n@use 'module/spacing';\n\n@mixin position($position, $top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n position: #{$position};\n @if $top != null {\n top: #{space($top)};\n }\n @if $right != null {\n right: #{space($right)};\n }\n @if $bottom != null {\n bottom: #{space($bottom)};\n }\n @if $left != null {\n left: #{space($left)};\n }\n\n @include size($width, $height);\n\n @content;\n}\n\n@mixin relative($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(relative, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin absolute($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(absolute, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin fixed($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(fixed, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin sticky($top: null, $right: null, $bottom: null, $left: null, $width: null, $height: null) {\n @include position(sticky, $top, $right, $bottom, $left, $width, $height);\n}\n\n@mixin top($top) {\n top: spacing.space($top);\n}\n\n@mixin right($top) {\n right: spacing.space($top);\n}\n\n@mixin bottom($top) {\n bottom: spacing.space($top);\n}\n\n@mixin left($top) {\n left: spacing.space($top);\n}\n","@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n SEGMENTED\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-segmented {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n border: 0;\n}\n.fr-segmented__legend {\n margin-bottom: 0.75rem;\n padding: 0;\n}\n.fr-segmented__legend .fr-hint-text {\n margin-top: 0.25rem;\n}\n.fr-segmented__legend--inline {\n float: left;\n display: contents;\n}\n.fr-segmented__legend--inline + .fr-segmented__elements {\n margin-left: 1rem;\n}\n.fr-segmented__elements {\n display: flex;\n flex-direction: row;\n border-radius: 0.25rem;\n}\n.fr-segmented__element {\n position: relative;\n}\n.fr-segmented .fr-segmented__element input {\n opacity: 0;\n}\n.fr-segmented input {\n position: absolute;\n margin: 0;\n width: 100%;\n height: 100%;\n -webkit-tap-highlight-color: transparent;\n z-index: -1;\n}\n.fr-segmented input + label {\n font-size: 1rem;\n line-height: 1.5rem;\n min-height: 2.5rem;\n padding: 0.5rem 1rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n width: 100%;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n border-radius: 0.25rem;\n -webkit-tap-highlight-color: transparent;\n white-space: nowrap;\n}\n.fr-segmented input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label {\n -webkit-mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n mask-image: linear-gradient(0deg, #fff 0, #fff 100%), linear-gradient(0deg, #fff 0, #fff 100%), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\"), url(\"data:image/svg+xml;charset=uft8,<svg xmlns='http://www.w3.org/2000/svg' width='4px' height='4px' viewBox='0 0 4 4'><circle fill='%23fff' r='2' cx='2' cy='2' /></svg>\");\n -webkit-mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n mask-size: calc(100% - 0.5rem)calc(100% - 0.75rem), calc(100% - 0.75rem)calc(100% - 0.5rem), 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem, 0.25rem 0.25rem;\n -webkit-mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n mask-position: 0.25rem 0.375rem, 0.375rem 0.25rem, 0.25rem 0.25rem, calc(100% - 0.25rem) 0.25rem, 0.25rem calc(100% - 0.25rem), calc(100% - 0.25rem) calc(100% - 0.25rem);\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:hover {\n background-color: var(--hover);\n}\n.fr-segmented input:not([disabled]):not(:checked) + label:active {\n background-color: var(--active);\n}\n.fr-segmented--vertical .fr-segmented__elements {\n flex-direction: column;\n margin-left: 0;\n}\n.fr-segmented--vertical .fr-segmented__legend--inline {\n float: none;\n display: block;\n}\n.fr-segmented--no-legend legend {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n.fr-segmented--no-legend legend + .fr-segmented__elements {\n margin-left: 0;\n}\n\n.fr-segmented__element input:focus + label {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: #0a76f6;\n}\n\n.fr-segmented__element input:focus + label {\n outline-style: solid;\n}\n\n.fr-segmented__element input:focus:not(:focus-visible) + label {\n outline-style: none;\n}\n\n.fr-segmented__element input:focus-visible + label {\n outline-style: solid;\n}\n\n.fr-segmented--sm .fr-segmented__legend {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n.fr-segmented--sm input + label {\n font-size: 0.875rem;\n line-height: 1.5rem;\n min-height: 2rem;\n padding: 0.25rem 0.75rem;\n overflow: initial;\n max-width: 100%;\n max-height: none;\n}\n.fr-segmented--sm input + label::before {\n --icon-size: 1rem;\n margin-left: -0.125rem;\n margin-right: 0.5rem;\n}\n\n.fr-segmented__elements {\n box-shadow: inset 0 0 0 1px var(--border-default-grey);\n}\n.fr-segmented__element label {\n color: var(--text-action-high-grey);\n}\n.fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px var(--border-active-blue-france);\n color: var(--text-active-blue-france);\n}\n.fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px var(--text-disabled-grey);\n color: var(--text-disabled-grey);\n}\n\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented {\n display: block;\n }\n .fr-segmented--sm .fr-segmented__legend--inline {\n margin: 0.25rem 0 0;\n }\n .fr-segmented__legend--inline {\n margin: 0.5rem 0 0;\n }\n .fr-segmented__elements {\n display: inline-flex;\n }\n .fr-segmented input + label::before {\n width: 1rem;\n height: 1rem;\n vertical-align: -2px;\n }\n .fr-segmented input:focus + label::before {\n outline: none;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__elements {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element label {\n color: #161616;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked + label {\n color: #000091;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n box-shadow: inset 0 0 0 1px #929292;\n }\n}\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .fr-segmented__element input:checked:disabled + label {\n color: #929292;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Display display\n/// @group core\n////\n\n@mixin display-flex($flex-direction: row, $align-items: null, $justify-content: null, $flex-wrap: null, $inline: false) {\n\n @if $inline == true {\n display: inline-flex;\n }\n @else {\n display: flex;\n }\n\n @if $flex-direction != null {\n flex-direction: #{$flex-direction};\n }\n\n @if $align-items != null {\n align-items: #{$align-items};\n }\n\n @if $justify-content != null {\n justify-content: #{$justify-content};\n }\n\n @if $flex-wrap != null {\n flex-wrap: #{$flex-wrap};\n }\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Typography font-weight\n/// @group core\n////\n\n/// Return font-weight value from font-weight map.\n///\n/// @param {String} $scale ['regular'] - Type scale value from `$weight-scale` (Default to 'regular' = 400)\n///\n/// @example scss - Set font-weight to bold (700)\n/// .foo {\n/// font-weight: font-weight('bold');\n/// }\n\n@function font-weight($scale: regular) {\n @return map-get($font-weight-scale, $scale);\n}\n\n@mixin font-weight($scale) {\n font-weight: font-weight($scale);\n}\n\n@mixin build-utillity-font-weight() {\n $fontWeightValues: map-get($font-weight-vars, values);\n @if $fontWeightValues == 'all' {\n $fontWeightValues: map-keys($font-weight-names);\n }\n @each $weight in $fontWeightValues {\n $name: map-get($font-weight-names, $weight);\n #{ns('text--' + $name)} {\n font-weight: #{$weight} !important;\n }\n }\n}\n","////\n/// Link Tool : icons\n/// @group link\n////\n\n@use 'module/spacing';\n\n@mixin _build-link-icon($size-settings, $place, $size:md, $override-icon: true) {\n\n $icon-size: icon-size(map_get($size-settings, icon));\n\n @if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n }\n\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n $icon-margin-x: spacing.space(map_get($size-settings, icon-margin-x));\n\n @if $place == left {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include before {\n --icon-size: #{$icon-size};\n margin-left: -($icon-margin);\n margin-right: $icon-margin-x;\n }\n }\n @else if $place == right {\n overflow: initial;\n max-width: 100%;\n max-height: none;\n @include icon-content(false, $override-icon) {\n --icon-size: #{$icon-size};\n margin-right: -($icon-margin);\n margin-left: $icon-margin-x;\n }\n }\n @else if $place == only {\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n overflow: hidden;\n white-space: nowrap;\n max-width: $min-height;\n max-height: $min-height;\n padding-left: $padding-x;\n padding-right: $padding-x;\n\n @include before {\n --icon-size: #{$icon-size};\n margin-left: 0;\n margin-right: $padding-x;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool : mask-image\n/// @group core\n////\n\n@mixin mask-image($value) {\n -webkit-mask-image: $value;\n mask-image: $value;\n}\n\n@mixin mask-image-size($value) {\n -webkit-mask-size: $value;\n mask-size: $value;\n}\n\n@mixin mask-image-position($value) {\n -webkit-mask-position: $value;\n mask-position: $value;\n}\n\n@mixin mask-image-repeat($value) {\n -webkit-mask-repeat: $value;\n mask-repeat: $value;\n}\n","////\n/// Core Tool : Display sr-only\n/// @group core\n////\n\n@mixin sr-only() {\n @include absolute;\n @include size(1px, 1px);\n @include padding(0);\n @include margin(-1px);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap; /* added line */\n border: 0;\n display: block;\n}\n\n@mixin sr-only-from() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-' + $bp)} {\n @include respond-from($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n\n@mixin sr-only-to() {\n @each $bp, $limits in $breakpoints {\n @if $bp != xs {\n #{ns('sr-only-to-' + $bp)} {\n @include respond-to($bp) {\n @include sr-only();\n }\n }\n }\n }\n}\n","////\n/// Core Tool : Action focus\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin focusable-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-not-visible($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus:not(:focus-visible)', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable-selector-focus-visible($elements: $action-elements) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $focus: map-get($setting, focus);\n $isolated: map-get($setting, isolated);\n $selector: map-get($setting, selector);\n @if $focus {\n @if $isolated {\n $isolated-selectors: nest($selector, '&:focus-visible', map-get($focus, selector));\n #{$isolated-selectors} {\n @content;\n }\n }\n @else {\n $selectors: append($selectors, nest($selector, '&:focus-visible', map-get($focus, selector)), 'comma');\n }\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n\n@mixin focusable($elements: $action-elements) {\n @include focusable-selector($elements) {\n outline-offset: 2px;\n outline-width: 2px;\n outline-color: color.$focus;\n }\n\n @include focusable-selector-focus($elements) {\n outline-style: solid;\n }\n\n @include focusable-selector-focus-not-visible($elements) {\n outline-style: none;\n }\n\n @include focusable-selector-focus-visible($elements) {\n outline-style: solid;\n }\n}\n","@use 'options';\n\n$focus: #0a76f6;\n$absolute-black: #000;\n$black: nth(map-get(options.$values, grey-50), 1);\n$black-a0: rgba(nth(map-get(options.$values, grey-50), 1), 0);\n$black-a64: rgba(nth(map-get(options.$values, grey-50), 1), 64%);\n$white: nth(map-get(options.$values, grey-1000), 1);\n$blue-france: nth(map-get(options.$values, blue-france-sun-113), 1);\n$red-marianne: nth(map-get(options.$values, red-marianne-main-472), 1);\n","////\n/// Semgented Module : semgented sm\n/// @group semgented\n////\n\n@use 'module/spacing';\n@use 'module/selector';\n\n#{selector.ns(segmented)}--sm {\n #{selector.ns(segmented)}__legend {\n @include text-style(sm);\n }\n\n input {\n + label {\n @include nest-segmented-element(sm, left);\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Segmented Scheme\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/spacing';\n@use 'module/disabled';\n@use 'module/color';\n\n@mixin _segmented-scheme($legacy: false) {\n #{selector.ns(segmented)} {\n &__elements {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__element {\n label {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n\n input {\n &:checked {\n + label {\n @include color.box-shadow(active blue-france, (legacy:$legacy));\n @include color.text(active blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.box-shadow(text disabled grey, (legacy:$legacy));\n @include color.text(disabled grey, (legacy:$legacy));\n }\n }\n }\n }\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","////\n/// Segmented Legacy\n/// @group segmented\n////\n\n@use 'module/selector';\n@use 'module/legacy';\n\n@include legacy.is(ie11) {\n #{selector.ns(segmented)} {\n display: block;\n\n &--sm {\n #{selector.ns(segmented__legend--inline)} {\n @include margin(1v 0 0);\n }\n }\n\n &__legend--inline {\n @include margin(2v 0 0);\n }\n\n &__elements {\n display: inline-flex;\n }\n\n input + label {\n @include icon-size-legacy(sm, before) {\n vertical-align: -2px;\n }\n }\n\n input:focus + label {\n @include before {\n outline: none;\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.module.js b/design_system_admin/dsfr/component/segmented/segmented.module.js new file mode 100644 index 0000000000000000000000000000000000000000..017c2b7f58d68a83aa5b741cd04890af80fa1c22 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.module.js @@ -0,0 +1,84 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ + +const config = { + prefix: 'fr', + namespace: 'dsfr', + organisation: '@gouvfr', + version: '1.11.0' +}; + +const api = window[config.namespace]; + +const SegmentedSelector = { + SEGMENTED: api.internals.ns.selector('segmented'), + SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'), + SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'), + SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend') +}; + +const SegmentedEmission = { + ADDED: api.internals.ns.emission('segmented', 'added'), + REMOVED: api.internals.ns.emission('segmented', 'removed') +}; + +class Segmented extends api.core.Instance { + static get instanceClassName () { + return 'Segmented'; + } + + init () { + this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS); + this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND); + this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this)); + this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this)); + this._isLegendInline = this.legend && this.legend.classList.contains(`${api.prefix}-segmented__legend--inline`); + this.isResizing = true; + } + + resize () { + const SEGMENTED_VERTICAL = `${api.prefix}-segmented--vertical`; + const LEGEND_INLINE = `${api.prefix}-segmented__legend--inline`; + const gapOffset = 16; + + this.removeClass(SEGMENTED_VERTICAL); + + if (this._isLegendInline) { + this.legend.classList.add(LEGEND_INLINE); + + if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) { + this.legend.classList.remove(LEGEND_INLINE); + } + } + + if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) { + this.addClass(SEGMENTED_VERTICAL); + } else { + this.removeClass(SEGMENTED_VERTICAL); + } + } +} + +class SegmentedElement extends api.core.Instance { + static get instanceClassName () { + return 'SegmentedElement'; + } + + init () { + this.ascend(SegmentedEmission.ADDED); + } + + dispose () { + this.ascend(SegmentedEmission.REMOVED); + } +} + +api.segmented = { + SegmentedSelector: SegmentedSelector, + SegmentedEmission: SegmentedEmission, + SegmentedElement: SegmentedElement, + Segmented: Segmented +}; + +api.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented); +api.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement); +//# sourceMappingURL=segmented.module.js.map diff --git a/design_system_admin/dsfr/component/segmented/segmented.module.js.map b/design_system_admin/dsfr/component/segmented/segmented.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2e659dd7bd2b3f1b79faf2ebb0d38e9385d71c56 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"segmented.module.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/segmented/script/segmented/segmented-selector.js","../../../src/component/segmented/script/segmented/segmented-emission.js","../../../src/component/segmented/script/segmented/segmented.js","../../../src/component/segmented/script/segmented/segmented-element.js","../../../src/component/segmented/index.js","../../../src/component/segmented/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const SegmentedSelector = {\n SEGMENTED: api.internals.ns.selector('segmented'),\n SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'),\n SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'),\n SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend')\n};\n","import api from '../../api.js';\n\nconst SegmentedEmission = {\n ADDED: api.internals.ns.emission('segmented', 'added'),\n REMOVED: api.internals.ns.emission('segmented', 'removed')\n};\n\nexport { SegmentedEmission };\n","import api from '../../api.js';\nimport { SegmentedSelector } from './segmented-selector.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass Segmented extends api.core.Instance {\n static get instanceClassName () {\n return 'Segmented';\n }\n\n init () {\n this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS);\n this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND);\n this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this));\n this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this));\n this._isLegendInline = this.legend && this.legend.classList.contains(`${api.prefix}-segmented__legend--inline`);\n this.isResizing = true;\n }\n\n resize () {\n const SEGMENTED_VERTICAL = `${api.prefix}-segmented--vertical`;\n const LEGEND_INLINE = `${api.prefix}-segmented__legend--inline`;\n const gapOffset = 16;\n\n this.removeClass(SEGMENTED_VERTICAL);\n\n if (this._isLegendInline) {\n this.legend.classList.add(LEGEND_INLINE);\n\n if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) {\n this.legend.classList.remove(LEGEND_INLINE);\n }\n }\n\n if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) {\n this.addClass(SEGMENTED_VERTICAL);\n } else {\n this.removeClass(SEGMENTED_VERTICAL);\n }\n }\n}\n\nexport { Segmented };\n","import api from '../../api.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass SegmentedElement extends api.core.Instance {\n static get instanceClassName () {\n return 'SegmentedElement';\n }\n\n init () {\n this.ascend(SegmentedEmission.ADDED);\n }\n\n dispose () {\n this.ascend(SegmentedEmission.REMOVED);\n }\n}\n\nexport { SegmentedElement };\n","import api from './api.js';\nimport { Segmented } from './script/segmented/segmented.js';\nimport { SegmentedElement } from './script/segmented/segmented-element.js';\nimport { SegmentedSelector } from './script/segmented/segmented-selector.js';\nimport { SegmentedEmission } from './script/segmented/segmented-emission.js';\n\napi.segmented = {\n SegmentedSelector: SegmentedSelector,\n SegmentedEmission: SegmentedEmission,\n SegmentedElement: SegmentedElement,\n Segmented: Segmented\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented);\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement);\n\nexport default api;\n"],"names":[],"mappings":";;AAAA,MAAM,MAAM,GAAG;AACf,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,YAAY,EAAE,SAAS;AACzB,EAAE,OAAO,EAAE,QAAQ;AACnB,CAAC;;ACJD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACC7B,MAAM,iBAAiB,GAAG;AACjC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;AACnD,EAAE,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AACtE,EAAE,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;AAC1E,EAAE,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;AAClE,CAAC;;ACLD,MAAM,iBAAiB,GAAG;AAC1B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;AACxD,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;AAC5D,CAAC;;ACDD,MAAM,SAAS,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAClF,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACpH,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,kBAAkB,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACnE,IAAI,MAAM,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACpE,IAAI,MAAM,SAAS,GAAG,EAAE,CAAC;AACzB;AACA,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACzC;AACA,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;AAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;AAC5K,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACpD,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;AACtI,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACxC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAC3C,KAAK;AACL,GAAG;AACH;;ACpCA,MAAM,gBAAgB,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjD,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,kBAAkB,CAAC;AAC9B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACzC,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3C,GAAG;AACH;;ACTA,GAAG,CAAC,SAAS,GAAG;AAChB,EAAE,iBAAiB,EAAE,iBAAiB;AACtC,EAAE,iBAAiB,EAAE,iBAAiB;AACtC,EAAE,gBAAgB,EAAE,gBAAgB;AACpC,EAAE,SAAS,EAAE,SAAS;AACtB,CAAC;;ACTD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC3F,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.module.min.js b/design_system_admin/dsfr/component/segmented/segmented.module.min.js new file mode 100644 index 0000000000000000000000000000000000000000..e428c98e6c4c3a257e5103da4a95e20212ae0a6e --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.module.min.js @@ -0,0 +1,3 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ +const e=window.dsfr,s={SEGMENTED:e.internals.ns.selector("segmented"),SEGMENTED_ELEMENTS:e.internals.ns.selector("segmented__elements"),SEGMENTED_ELEMENT:e.internals.ns.selector("segmented__element input"),SEGMENTED_LEGEND:e.internals.ns.selector("segmented__legend")},t={ADDED:e.internals.ns.emission("segmented","added"),REMOVED:e.internals.ns.emission("segmented","removed")};class n extends e.core.Instance{static get instanceClassName(){return"Segmented"}init(){this.elements=this.node.querySelector(s.SEGMENTED_ELEMENTS),this.legend=this.node.querySelector(s.SEGMENTED_LEGEND),this.addAscent(t.ADDED,this.resize.bind(this)),this.addAscent(t.REMOVED,this.resize.bind(this)),this._isLegendInline=this.legend&&this.legend.classList.contains(`${e.prefix}-segmented__legend--inline`),this.isResizing=!0}resize(){const s=`${e.prefix}-segmented--vertical`,t=`${e.prefix}-segmented__legend--inline`;this.removeClass(s),this._isLegendInline&&(this.legend.classList.add(t),(this.node.offsetWidth>this.node.parentNode.offsetWidth||this.elements.scrollWidth+this.legend.offsetWidth+16>this.node.parentNode.offsetWidth)&&this.legend.classList.remove(t)),this.elements.offsetWidth>this.node.parentNode.offsetWidth||this.elements.scrollWidth>this.node.parentNode.offsetWidth?this.addClass(s):this.removeClass(s)}}class i extends e.core.Instance{static get instanceClassName(){return"SegmentedElement"}init(){this.ascend(t.ADDED)}dispose(){this.ascend(t.REMOVED)}}e.segmented={SegmentedSelector:s,SegmentedEmission:t,SegmentedElement:i,Segmented:n},e.internals.register(e.segmented.SegmentedSelector.SEGMENTED,e.segmented.Segmented),e.internals.register(e.segmented.SegmentedSelector.SEGMENTED_ELEMENT,e.segmented.SegmentedElement); +//# sourceMappingURL=segmented.module.min.js.map diff --git a/design_system_admin/dsfr/component/segmented/segmented.module.min.js.map b/design_system_admin/dsfr/component/segmented/segmented.module.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c3eff0deab468b07cfa1e67a2f96366261f26195 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.module.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"segmented.module.min.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/segmented/script/segmented/segmented-selector.js","../../../src/component/segmented/script/segmented/segmented-emission.js","../../../src/component/segmented/script/segmented/segmented.js","../../../src/component/segmented/script/segmented/segmented-element.js","../../../src/component/segmented/index.js","../../../src/component/segmented/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const SegmentedSelector = {\n SEGMENTED: api.internals.ns.selector('segmented'),\n SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'),\n SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'),\n SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend')\n};\n","import api from '../../api.js';\n\nconst SegmentedEmission = {\n ADDED: api.internals.ns.emission('segmented', 'added'),\n REMOVED: api.internals.ns.emission('segmented', 'removed')\n};\n\nexport { SegmentedEmission };\n","import api from '../../api.js';\nimport { SegmentedSelector } from './segmented-selector.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass Segmented extends api.core.Instance {\n static get instanceClassName () {\n return 'Segmented';\n }\n\n init () {\n this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS);\n this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND);\n this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this));\n this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this));\n this._isLegendInline = this.legend && this.legend.classList.contains(`${api.prefix}-segmented__legend--inline`);\n this.isResizing = true;\n }\n\n resize () {\n const SEGMENTED_VERTICAL = `${api.prefix}-segmented--vertical`;\n const LEGEND_INLINE = `${api.prefix}-segmented__legend--inline`;\n const gapOffset = 16;\n\n this.removeClass(SEGMENTED_VERTICAL);\n\n if (this._isLegendInline) {\n this.legend.classList.add(LEGEND_INLINE);\n\n if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) {\n this.legend.classList.remove(LEGEND_INLINE);\n }\n }\n\n if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) {\n this.addClass(SEGMENTED_VERTICAL);\n } else {\n this.removeClass(SEGMENTED_VERTICAL);\n }\n }\n}\n\nexport { Segmented };\n","import api from '../../api.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass SegmentedElement extends api.core.Instance {\n static get instanceClassName () {\n return 'SegmentedElement';\n }\n\n init () {\n this.ascend(SegmentedEmission.ADDED);\n }\n\n dispose () {\n this.ascend(SegmentedEmission.REMOVED);\n }\n}\n\nexport { SegmentedElement };\n","import api from './api.js';\nimport { Segmented } from './script/segmented/segmented.js';\nimport { SegmentedElement } from './script/segmented/segmented-element.js';\nimport { SegmentedSelector } from './script/segmented/segmented-selector.js';\nimport { SegmentedEmission } from './script/segmented/segmented-emission.js';\n\napi.segmented = {\n SegmentedSelector: SegmentedSelector,\n SegmentedEmission: SegmentedEmission,\n SegmentedElement: SegmentedElement,\n Segmented: Segmented\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented);\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement);\n\nexport default api;\n"],"names":["api","window","SegmentedSelector","SEGMENTED","internals","ns","selector","SEGMENTED_ELEMENTS","SEGMENTED_ELEMENT","SEGMENTED_LEGEND","SegmentedEmission","ADDED","emission","REMOVED","Segmented","core","Instance","instanceClassName","init","this","elements","node","querySelector","legend","addAscent","resize","bind","_isLegendInline","classList","contains","prefix","isResizing","SEGMENTED_VERTICAL","LEGEND_INLINE","removeClass","add","offsetWidth","parentNode","scrollWidth","remove","addClass","SegmentedElement","ascend","dispose","segmented","register"],"mappings":";AAAA,MCCMA,EAAMC,OAAuB,KCCtBC,EAAoB,CAC/BC,UAAWH,EAAII,UAAUC,GAAGC,SAAS,aACrCC,mBAAoBP,EAAII,UAAUC,GAAGC,SAAS,uBAC9CE,kBAAmBR,EAAII,UAAUC,GAAGC,SAAS,4BAC7CG,iBAAkBT,EAAII,UAAUC,GAAGC,SAAS,sBCJxCI,EAAoB,CACxBC,MAAOX,EAAII,UAAUC,GAAGO,SAAS,YAAa,SAC9CC,QAASb,EAAII,UAAUC,GAAGO,SAAS,YAAa,YCAlD,MAAME,UAAkBd,EAAIe,KAAKC,SACpBC,+BACT,MAAO,YAGTC,OACEC,KAAKC,SAAWD,KAAKE,KAAKC,cAAcpB,EAAkBK,oBAC1DY,KAAKI,OAASJ,KAAKE,KAAKC,cAAcpB,EAAkBO,kBACxDU,KAAKK,UAAUd,EAAkBC,MAAOQ,KAAKM,OAAOC,KAAKP,OACzDA,KAAKK,UAAUd,EAAkBG,QAASM,KAAKM,OAAOC,KAAKP,OAC3DA,KAAKQ,gBAAkBR,KAAKI,QAAUJ,KAAKI,OAAOK,UAAUC,SAAS,GAAG7B,EAAI8B,oCAC5EX,KAAKY,YAAa,EAGpBN,SACE,MAAMO,EAAqB,GAAGhC,EAAI8B,6BAC5BG,EAAgB,GAAGjC,EAAI8B,mCAG7BX,KAAKe,YAAYF,GAEbb,KAAKQ,kBACPR,KAAKI,OAAOK,UAAUO,IAAIF,IAEtBd,KAAKE,KAAKe,YAAcjB,KAAKE,KAAKgB,WAAWD,aAAgBjB,KAAKC,SAASkB,YAAcnB,KAAKI,OAAOa,YAPzF,GAOoHjB,KAAKE,KAAKgB,WAAWD,cACvJjB,KAAKI,OAAOK,UAAUW,OAAON,IAI7Bd,KAAKC,SAASgB,YAAcjB,KAAKE,KAAKgB,WAAWD,aAAejB,KAAKC,SAASkB,YAAcnB,KAAKE,KAAKgB,WAAWD,YACnHjB,KAAKqB,SAASR,GAEdb,KAAKe,YAAYF,ICjCvB,MAAMS,UAAyBzC,EAAIe,KAAKC,SAC3BC,+BACT,MAAO,mBAGTC,OACEC,KAAKuB,OAAOhC,EAAkBC,OAGhCgC,UACExB,KAAKuB,OAAOhC,EAAkBG,UCPlCb,EAAI4C,UAAY,CACd1C,kBAAmBA,EACnBQ,kBAAmBA,EACnB+B,iBAAkBA,EAClB3B,UAAWA,GCRbd,EAAII,UAAUyC,SAAS7C,EAAI4C,UAAU1C,kBAAkBC,UAAWH,EAAI4C,UAAU9B,WAChFd,EAAII,UAAUyC,SAAS7C,EAAI4C,UAAU1C,kBAAkBM,kBAAmBR,EAAI4C,UAAUH"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.nomodule.js b/design_system_admin/dsfr/component/segmented/segmented.nomodule.js new file mode 100644 index 0000000000000000000000000000000000000000..a2e3b8d1693e8123c50f82de6e68d3c85cd91ab3 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.nomodule.js @@ -0,0 +1,117 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ + +(function () { + 'use strict'; + + var config = { + prefix: 'fr', + namespace: 'dsfr', + organisation: '@gouvfr', + version: '1.11.0' + }; + + var api = window[config.namespace]; + + var SegmentedSelector = { + SEGMENTED: api.internals.ns.selector('segmented'), + SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'), + SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'), + SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend') + }; + + var SegmentedEmission = { + ADDED: api.internals.ns.emission('segmented', 'added'), + REMOVED: api.internals.ns.emission('segmented', 'removed') + }; + + var Segmented = /*@__PURE__*/(function (superclass) { + function Segmented () { + superclass.apply(this, arguments); + } + + if ( superclass ) Segmented.__proto__ = superclass; + Segmented.prototype = Object.create( superclass && superclass.prototype ); + Segmented.prototype.constructor = Segmented; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'Segmented'; + }; + + Segmented.prototype.init = function init () { + this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS); + this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND); + this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this)); + this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this)); + this._isLegendInline = this.legend && this.legend.classList.contains(((api.prefix) + "-segmented__legend--inline")); + this.isResizing = true; + }; + + Segmented.prototype.resize = function resize () { + var SEGMENTED_VERTICAL = (api.prefix) + "-segmented--vertical"; + var LEGEND_INLINE = (api.prefix) + "-segmented__legend--inline"; + var gapOffset = 16; + + this.removeClass(SEGMENTED_VERTICAL); + + if (this._isLegendInline) { + this.legend.classList.add(LEGEND_INLINE); + + if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) { + this.legend.classList.remove(LEGEND_INLINE); + } + } + + if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) { + this.addClass(SEGMENTED_VERTICAL); + } else { + this.removeClass(SEGMENTED_VERTICAL); + } + }; + + Object.defineProperties( Segmented, staticAccessors ); + + return Segmented; + }(api.core.Instance)); + + var SegmentedElement = /*@__PURE__*/(function (superclass) { + function SegmentedElement () { + superclass.apply(this, arguments); + } + + if ( superclass ) SegmentedElement.__proto__ = superclass; + SegmentedElement.prototype = Object.create( superclass && superclass.prototype ); + SegmentedElement.prototype.constructor = SegmentedElement; + + var staticAccessors = { instanceClassName: { configurable: true } }; + + staticAccessors.instanceClassName.get = function () { + return 'SegmentedElement'; + }; + + SegmentedElement.prototype.init = function init () { + this.ascend(SegmentedEmission.ADDED); + }; + + SegmentedElement.prototype.dispose = function dispose () { + this.ascend(SegmentedEmission.REMOVED); + }; + + Object.defineProperties( SegmentedElement, staticAccessors ); + + return SegmentedElement; + }(api.core.Instance)); + + api.segmented = { + SegmentedSelector: SegmentedSelector, + SegmentedEmission: SegmentedEmission, + SegmentedElement: SegmentedElement, + Segmented: Segmented + }; + + api.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented); + api.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement); + +})(); +//# sourceMappingURL=segmented.nomodule.js.map diff --git a/design_system_admin/dsfr/component/segmented/segmented.nomodule.js.map b/design_system_admin/dsfr/component/segmented/segmented.nomodule.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6edd05744b3996bbcb6fa593481b0937b29f4d2c --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.nomodule.js.map @@ -0,0 +1 @@ +{"version":3,"file":"segmented.nomodule.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/segmented/script/segmented/segmented-selector.js","../../../src/component/segmented/script/segmented/segmented-emission.js","../../../src/component/segmented/script/segmented/segmented.js","../../../src/component/segmented/script/segmented/segmented-element.js","../../../src/component/segmented/index.js","../../../src/component/segmented/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const SegmentedSelector = {\n SEGMENTED: api.internals.ns.selector('segmented'),\n SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'),\n SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'),\n SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend')\n};\n","import api from '../../api.js';\n\nconst SegmentedEmission = {\n ADDED: api.internals.ns.emission('segmented', 'added'),\n REMOVED: api.internals.ns.emission('segmented', 'removed')\n};\n\nexport { SegmentedEmission };\n","import api from '../../api.js';\nimport { SegmentedSelector } from './segmented-selector.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass Segmented extends api.core.Instance {\n static get instanceClassName () {\n return 'Segmented';\n }\n\n init () {\n this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS);\n this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND);\n this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this));\n this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this));\n this._isLegendInline = this.legend && this.legend.classList.contains(`${api.prefix}-segmented__legend--inline`);\n this.isResizing = true;\n }\n\n resize () {\n const SEGMENTED_VERTICAL = `${api.prefix}-segmented--vertical`;\n const LEGEND_INLINE = `${api.prefix}-segmented__legend--inline`;\n const gapOffset = 16;\n\n this.removeClass(SEGMENTED_VERTICAL);\n\n if (this._isLegendInline) {\n this.legend.classList.add(LEGEND_INLINE);\n\n if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) {\n this.legend.classList.remove(LEGEND_INLINE);\n }\n }\n\n if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) {\n this.addClass(SEGMENTED_VERTICAL);\n } else {\n this.removeClass(SEGMENTED_VERTICAL);\n }\n }\n}\n\nexport { Segmented };\n","import api from '../../api.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass SegmentedElement extends api.core.Instance {\n static get instanceClassName () {\n return 'SegmentedElement';\n }\n\n init () {\n this.ascend(SegmentedEmission.ADDED);\n }\n\n dispose () {\n this.ascend(SegmentedEmission.REMOVED);\n }\n}\n\nexport { SegmentedElement };\n","import api from './api.js';\nimport { Segmented } from './script/segmented/segmented.js';\nimport { SegmentedElement } from './script/segmented/segmented-element.js';\nimport { SegmentedSelector } from './script/segmented/segmented-selector.js';\nimport { SegmentedEmission } from './script/segmented/segmented-emission.js';\n\napi.segmented = {\n SegmentedSelector: SegmentedSelector,\n SegmentedEmission: SegmentedEmission,\n SegmentedElement: SegmentedElement,\n Segmented: Segmented\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented);\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement);\n\nexport default api;\n"],"names":["const"],"mappings":";;;;;EAAAA,IAAM,MAAM,GAAG;EACf,EAAE,MAAM,EAAE,IAAI;EACd,EAAE,SAAS,EAAE,MAAM;EACnB,EAAE,YAAY,EAAE,SAAS;EACzB,EAAE,OAAO,EAAE,QAAQ;EACnB,CAAC;;ECJDA,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ECC7BA,IAAM,iBAAiB,GAAG;EACjC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;EACnD,EAAE,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;EACtE,EAAE,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;EAC1E,EAAE,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;EAClE,CAAC;;ECLDA,IAAM,iBAAiB,GAAG;EAC1B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;EACxD,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;EAC5D,CAAC;;ECDD,IAAM,SAAS;;;;;;;;;;;IACb,gBAAW,oCAAqB;EAClC,IAAI,OAAO,WAAW,CAAC;EACvB,IAAG;AACH;EACA,sBAAE,wBAAQ;EACV,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;EAClF,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;EAC9E,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACpE,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACtE,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAI,GAAG,CAAC,wCAAmC,CAAC;EACpH,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EAC3B,IAAG;AACH;EACA,sBAAE,4BAAU;EACZ,IAAIA,IAAM,kBAAkB,IAAM,GAAG,CAAC,gCAA4B,CAAC;EACnE,IAAIA,IAAM,aAAa,IAAM,GAAG,CAAC,sCAAkC,CAAC;EACpE,IAAIA,IAAM,SAAS,GAAG,EAAE,CAAC;AACzB;EACA,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACzC;EACA,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;EAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/C;EACA,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;EAC5K,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EACpD,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;EACtI,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;EACxC,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;EAC3C,KAAK;EACL;;;;;IAlCwB,GAAG,CAAC,IAAI,CAAC;;ECDjC,IAAM,gBAAgB;;;;;;;;;;;IACpB,gBAAW,oCAAqB;EAClC,IAAI,OAAO,kBAAkB,CAAC;EAC9B,IAAG;AACH;EACA,6BAAE,wBAAQ;EACV,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;EACzC,IAAG;AACH;EACA,6BAAE,8BAAW;EACb,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;EAC3C;;;;;IAX+B,GAAG,CAAC,IAAI,CAAC;;ECGxC,GAAG,CAAC,SAAS,GAAG;EAChB,EAAE,iBAAiB,EAAE,iBAAiB;EACtC,EAAE,iBAAiB,EAAE,iBAAiB;EACtC,EAAE,gBAAgB,EAAE,gBAAgB;EACpC,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC;;ECTD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;EAC3F,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;;"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js b/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js new file mode 100644 index 0000000000000000000000000000000000000000..8de60c6e480cb37743a17c4e64c5ad1d9a768733 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js @@ -0,0 +1,3 @@ +/*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ +!function(){"use strict";var e=window.dsfr,t={SEGMENTED:e.internals.ns.selector("segmented"),SEGMENTED_ELEMENTS:e.internals.ns.selector("segmented__elements"),SEGMENTED_ELEMENT:e.internals.ns.selector("segmented__element input"),SEGMENTED_LEGEND:e.internals.ns.selector("segmented__legend")},n={ADDED:e.internals.ns.emission("segmented","added"),REMOVED:e.internals.ns.emission("segmented","removed")},s=function(s){function i(){s.apply(this,arguments)}s&&(i.__proto__=s),i.prototype=Object.create(s&&s.prototype),i.prototype.constructor=i;var o={instanceClassName:{configurable:!0}};return o.instanceClassName.get=function(){return"Segmented"},i.prototype.init=function(){this.elements=this.node.querySelector(t.SEGMENTED_ELEMENTS),this.legend=this.node.querySelector(t.SEGMENTED_LEGEND),this.addAscent(n.ADDED,this.resize.bind(this)),this.addAscent(n.REMOVED,this.resize.bind(this)),this._isLegendInline=this.legend&&this.legend.classList.contains(e.prefix+"-segmented__legend--inline"),this.isResizing=!0},i.prototype.resize=function(){var t=e.prefix+"-segmented--vertical",n=e.prefix+"-segmented__legend--inline";this.removeClass(t),this._isLegendInline&&(this.legend.classList.add(n),(this.node.offsetWidth>this.node.parentNode.offsetWidth||this.elements.scrollWidth+this.legend.offsetWidth+16>this.node.parentNode.offsetWidth)&&this.legend.classList.remove(n)),this.elements.offsetWidth>this.node.parentNode.offsetWidth||this.elements.scrollWidth>this.node.parentNode.offsetWidth?this.addClass(t):this.removeClass(t)},Object.defineProperties(i,o),i}(e.core.Instance),i=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var s={instanceClassName:{configurable:!0}};return s.instanceClassName.get=function(){return"SegmentedElement"},t.prototype.init=function(){this.ascend(n.ADDED)},t.prototype.dispose=function(){this.ascend(n.REMOVED)},Object.defineProperties(t,s),t}(e.core.Instance);e.segmented={SegmentedSelector:t,SegmentedEmission:n,SegmentedElement:i,Segmented:s},e.internals.register(e.segmented.SegmentedSelector.SEGMENTED,e.segmented.Segmented),e.internals.register(e.segmented.SegmentedSelector.SEGMENTED_ELEMENT,e.segmented.SegmentedElement)}(); +//# sourceMappingURL=segmented.nomodule.min.js.map diff --git a/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js.map b/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..21c609a8349740ba74d37361502c88c6dd902140 --- /dev/null +++ b/design_system_admin/dsfr/component/segmented/segmented.nomodule.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"segmented.nomodule.min.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/segmented/script/segmented/segmented-selector.js","../../../src/component/segmented/script/segmented/segmented-emission.js","../../../src/component/segmented/script/segmented/segmented.js","../../../src/component/segmented/script/segmented/segmented-element.js","../../../src/component/segmented/index.js","../../../src/component/segmented/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const SegmentedSelector = {\n SEGMENTED: api.internals.ns.selector('segmented'),\n SEGMENTED_ELEMENTS: api.internals.ns.selector('segmented__elements'),\n SEGMENTED_ELEMENT: api.internals.ns.selector('segmented__element input'),\n SEGMENTED_LEGEND: api.internals.ns.selector('segmented__legend')\n};\n","import api from '../../api.js';\n\nconst SegmentedEmission = {\n ADDED: api.internals.ns.emission('segmented', 'added'),\n REMOVED: api.internals.ns.emission('segmented', 'removed')\n};\n\nexport { SegmentedEmission };\n","import api from '../../api.js';\nimport { SegmentedSelector } from './segmented-selector.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass Segmented extends api.core.Instance {\n static get instanceClassName () {\n return 'Segmented';\n }\n\n init () {\n this.elements = this.node.querySelector(SegmentedSelector.SEGMENTED_ELEMENTS);\n this.legend = this.node.querySelector(SegmentedSelector.SEGMENTED_LEGEND);\n this.addAscent(SegmentedEmission.ADDED, this.resize.bind(this));\n this.addAscent(SegmentedEmission.REMOVED, this.resize.bind(this));\n this._isLegendInline = this.legend && this.legend.classList.contains(`${api.prefix}-segmented__legend--inline`);\n this.isResizing = true;\n }\n\n resize () {\n const SEGMENTED_VERTICAL = `${api.prefix}-segmented--vertical`;\n const LEGEND_INLINE = `${api.prefix}-segmented__legend--inline`;\n const gapOffset = 16;\n\n this.removeClass(SEGMENTED_VERTICAL);\n\n if (this._isLegendInline) {\n this.legend.classList.add(LEGEND_INLINE);\n\n if (this.node.offsetWidth > this.node.parentNode.offsetWidth || (this.elements.scrollWidth + this.legend.offsetWidth + gapOffset) > this.node.parentNode.offsetWidth) {\n this.legend.classList.remove(LEGEND_INLINE);\n }\n }\n\n if (this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth) {\n this.addClass(SEGMENTED_VERTICAL);\n } else {\n this.removeClass(SEGMENTED_VERTICAL);\n }\n }\n}\n\nexport { Segmented };\n","import api from '../../api.js';\nimport { SegmentedEmission } from './segmented-emission.js';\n\nclass SegmentedElement extends api.core.Instance {\n static get instanceClassName () {\n return 'SegmentedElement';\n }\n\n init () {\n this.ascend(SegmentedEmission.ADDED);\n }\n\n dispose () {\n this.ascend(SegmentedEmission.REMOVED);\n }\n}\n\nexport { SegmentedElement };\n","import api from './api.js';\nimport { Segmented } from './script/segmented/segmented.js';\nimport { SegmentedElement } from './script/segmented/segmented-element.js';\nimport { SegmentedSelector } from './script/segmented/segmented-selector.js';\nimport { SegmentedEmission } from './script/segmented/segmented-emission.js';\n\napi.segmented = {\n SegmentedSelector: SegmentedSelector,\n SegmentedEmission: SegmentedEmission,\n SegmentedElement: SegmentedElement,\n Segmented: Segmented\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED, api.segmented.Segmented);\napi.internals.register(api.segmented.SegmentedSelector.SEGMENTED_ELEMENT, api.segmented.SegmentedElement);\n\nexport default api;\n"],"names":["const","api","window","SegmentedSelector","SEGMENTED","internals","ns","selector","SEGMENTED_ELEMENTS","SEGMENTED_ELEMENT","SEGMENTED_LEGEND","SegmentedEmission","ADDED","emission","REMOVED","Segmented","staticAccessors","instanceClassName","init","this","elements","node","querySelector","legend","addAscent","resize","bind","_isLegendInline","classList","contains","isResizing","SEGMENTED_VERTICAL","LEGEND_INLINE","removeClass","add","offsetWidth","parentNode","scrollWidth","remove","addClass","core","Instance","SegmentedElement","ascend","dispose","segmented","register"],"mappings":";yBAAAA,ICCMC,EAAMC,OAAuB,KCCtBC,EAAoB,CAC/BC,UAAWH,EAAII,UAAUC,GAAGC,SAAS,aACrCC,mBAAoBP,EAAII,UAAUC,GAAGC,SAAS,uBAC9CE,kBAAmBR,EAAII,UAAUC,GAAGC,SAAS,4BAC7CG,iBAAkBT,EAAII,UAAUC,GAAGC,SAAS,sBCJxCI,EAAoB,CACxBC,MAAOX,EAAII,UAAUC,GAAGO,SAAS,YAAa,SAC9CC,QAASb,EAAII,UAAUC,GAAGO,SAAS,YAAa,YCA5CE,6LACJC,EAAWC,iCACT,MAAO,yBAGTC,gBACEC,KAAKC,SAAWD,KAAKE,KAAKC,cAAcnB,EAAkBK,oBAC1DW,KAAKI,OAASJ,KAAKE,KAAKC,cAAcnB,EAAkBO,kBACxDS,KAAKK,UAAUb,EAAkBC,MAAOO,KAAKM,OAAOC,KAAKP,OACzDA,KAAKK,UAAUb,EAAkBG,QAASK,KAAKM,OAAOC,KAAKP,OAC3DA,KAAKQ,gBAAkBR,KAAKI,QAAUJ,KAAKI,OAAOK,UAAUC,SAAY5B,uCACxEkB,KAAKW,YAAa,eAGpBL,kBACEzB,IAAM+B,EAAwB9B,gCACxB+B,EAAmB/B,sCAGzBkB,KAAKc,YAAYF,GAEbZ,KAAKQ,kBACPR,KAAKI,OAAOK,UAAUM,IAAIF,IAEtBb,KAAKE,KAAKc,YAAchB,KAAKE,KAAKe,WAAWD,aAAgBhB,KAAKC,SAASiB,YAAclB,KAAKI,OAAOY,YAPzF,GAOoHhB,KAAKE,KAAKe,WAAWD,cACvJhB,KAAKI,OAAOK,UAAUU,OAAON,IAI7Bb,KAAKC,SAASe,YAAchB,KAAKE,KAAKe,WAAWD,aAAehB,KAAKC,SAASiB,YAAclB,KAAKE,KAAKe,WAAWD,YACnHhB,KAAKoB,SAASR,GAEdZ,KAAKc,YAAYF,oCAhCC9B,EAAIuC,KAAKC,UCD3BC,6LACJ1B,EAAWC,iCACT,MAAO,gCAGTC,gBACEC,KAAKwB,OAAOhC,EAAkBC,oBAGhCgC,mBACEzB,KAAKwB,OAAOhC,EAAkBG,0CAVHb,EAAIuC,KAAKC,UCGxCxC,EAAI4C,UAAY,CACd1C,kBAAmBA,EACnBQ,kBAAmBA,EACnB+B,iBAAkBA,EAClB3B,UAAWA,GCRbd,EAAII,UAAUyC,SAAS7C,EAAI4C,UAAU1C,kBAAkBC,UAAWH,EAAI4C,UAAU9B,WAChFd,EAAII,UAAUyC,SAAS7C,EAAI4C,UAAU1C,kBAAkBM,kBAAmBR,EAAI4C,UAAUH"} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/select/select.print.css b/design_system_admin/dsfr/component/select/select.print.css new file mode 100644 index 0000000000000000000000000000000000000000..f5b55a79d93451828aabff5cfe3bf1b3372cf95d --- /dev/null +++ b/design_system_admin/dsfr/component/select/select.print.css @@ -0,0 +1,63 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; +@media print { + .fr-select { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + + /** + * Mixin pour gérer l'état disabled + */ + + /** + * On applique un style lorsque la valeur est automatiquement remplie par le navigateur + * sur les navigateurs webkit. + */ + } + + .fr-fieldset--valid .fr-select, + .fr-select-group--valid .fr-select { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-select, + .fr-select-group--error .fr-select { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-select-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-select-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-select-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-select:disabled { + color: #929292; + box-shadow: inset 0 -2px 0 0 #e5e5e5; + } + + .fr-select:-webkit-autofill, + .fr-select:-webkit-autofill:hover, + .fr-select:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe; + -webkit-text-fill-color: #161616; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-select { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } + + .fr-select:disabled { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } +} diff --git a/design_system_admin/dsfr/component/select/select.print.css.map b/design_system_admin/dsfr/component/select/select.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..9c0fe5b84c0b5094f1afcde8150922adaf98cc40 --- /dev/null +++ b/design_system_admin/dsfr/component/select/select.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20apyQc4%3E","file:///Users/ket/Documents/work/dsfr/src/component/select/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;ACKhB;ECIE;ICgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;;IDGA;;KAAA;;IAOA;;;KAAA;EFtCF;;EEGE;;ICyBA,oCAAA;EHlBF;;EEFE;;ICoBA,oCAAA;EHbF;;EIZA;IDyBE,yDAAA;EHRF;;EIjBA;IDyBE,yDAAA;EHHF;;EItBA;IDyBE,yDAAA;EHEF;;EKxBS;IFsBP,cAAA;IAAA,oCAAA;EHQF;;EEME;;;ICdA,gEAAA;IAAA,gCAAA;EHmBF;AA9CF;AMLI;EJAF;IKqBM,6OAAA;EPZN;;EKCS;IEWH,6OAAA;EPwBN;AAnCF","file":"select.print.css","sourcesContent":[null,"@charset \"UTF-8\";\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}","////\n/// Select Print\n/// @group select\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _select-scheme('print');\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/select/select.print.min.css b/design_system_admin/dsfr/component/select/select.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e113dcbe20e2af12d512fd1f0a6b947a826566d5 --- /dev/null +++ b/design_system_admin/dsfr/component/select/select.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-select{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-fieldset--valid .fr-select,.fr-select-group--valid .fr-select{box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-select,.fr-select-group--error .fr-select{box-shadow:inset 0 -2px 0 0 #ce0500}.fr-select-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-select-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-select-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-select:disabled{box-shadow:inset 0 -2px 0 0 #e5e5e5;color:#929292}.fr-select:-webkit-autofill,.fr-select:-webkit-autofill:focus,.fr-select:-webkit-autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #ececfe}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}.fr-select:disabled{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/select/select.print.min.css.map b/design_system_admin/dsfr/component/select/select.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..dcf0f63c94e58e65f71ad4a536103a285611cb11 --- /dev/null +++ b/design_system_admin/dsfr/component/select/select.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/select/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20_m0q6I%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,WCgCE,qBAAA,CAAA,mCAAA,CAAA,aC5BF,CFGE,kECyBA,mCClBF,CFFE,kECoBA,mCCbF,CCZA,+BFyBE,sDCRF,CCjBA,+BFyBE,sDCHF,CCtBA,8BFyBE,sDCEF,CExBS,oBHsBP,mCAAA,CAAA,aCQF,CFME,gGCdA,+BAAA,CAAA,8DCmBF,CA9CF,CGLI,+ELAF,WMqBM,qNJZN,CECS,oBEWH,qNJwBN,CAnCF","file":"select.print.min.css","sourcesContent":[null,"////\n/// Select Print\n/// @group select\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _select-scheme('print');\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@charset \"UTF-8\";\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/share/share.print.css b/design_system_admin/dsfr/component/share/share.print.css new file mode 100644 index 0000000000000000000000000000000000000000..d7bfd7bdf2e59fc51850b6cfaca88aae8b015b1c --- /dev/null +++ b/design_system_admin/dsfr/component/share/share.print.css @@ -0,0 +1,51 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-share .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-share__text { + color: #666; + } + + .fr-share { + display: none; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-share .fr-btn { + background-color: transparent; + } + + .fr-share .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-share .fr-btn:disabled:hover, + .fr-share a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:disabled:active, + .fr-share a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } +} diff --git a/design_system_admin/dsfr/component/share/share.print.css.map b/design_system_admin/dsfr/component/share/share.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..17c0028dc2b3776238bc227a9a600dace4dc2614 --- /dev/null +++ b/design_system_admin/dsfr/component/share/share.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/share/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20s_caRQ%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECII;ICgCA,cAAA;IAAA,gCAAA;ECrCF;;ECeS;;IFsBP,cAAA;IAAA,mCAAA;ECpBF;;EFRE;IC4BA,WAAA;ECJF;;EErCF;IACE,aAAA;EFyCA;AArCF;AGII;ELAA;IC+GE,6BAAA;EC/GJ;;EDkHM;IACE,qCAAA;EChHR;;EDmHM;IACE,oCAAA;ECjHR;;ECIS;;IFqGL,6BAAA;EC9FJ;;EDiGM;;IACE,qCAAA;EC/FR;;EDkGM;;IACE,oCAAA;EChGR;AAhBF","file":"share.print.css","sourcesContent":[null,"////\n/// Share Print\n/// @group share\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _share-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/share/share.print.min.css b/design_system_admin/dsfr/component/share/share.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..8a788bb0ce80497ed1e48d7a6c55331aab68e25d --- /dev/null +++ b/design_system_admin/dsfr/component/share/share.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-share .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-share__text{color:#666}.fr-share{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-share .fr-btn{background-color:transparent}.fr-share .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){background-color:transparent}.fr-share .fr-btn:disabled:hover,.fr-share a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:disabled:active,.fr-share a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/share/share.print.min.css.map b/design_system_admin/dsfr/component/share/share.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..cfc6045340c9142ddae97a7b63523e73d078d1fb --- /dev/null +++ b/design_system_admin/dsfr/component/share/share.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/share/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20ytJlgg%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCII,kBCgCA,+BAAA,CAAA,aCrCF,CCeS,0DFsBP,kCAAA,CAAA,aCpBF,CFRE,gBC4BA,UCJF,CErCF,UACE,YFyCA,CArCF,CGII,+ELAA,kBC+GE,4BC/GJ,CDkHM,wBACE,gCChHR,CDmHM,yBACE,+BCjHR,CCIS,0DFqGL,4BC9FJ,CDiGM,sEACE,gCC/FR,CDkGM,wEACE,+BChGR,CAhBF","file":"share.print.min.css","sourcesContent":[null,"////\n/// Share Print\n/// @group share\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _share-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css new file mode 100644 index 0000000000000000000000000000000000000000..1fffc0ceb3f3c034a6799308ec7449ca1e485d34 --- /dev/null +++ b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css @@ -0,0 +1,75 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-sidemenu { + box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd; + + /* + @include elevation.elevate(raised, (legacy:$legacy)); + @include respond-from(md) { + @include elevation.drop((legacy:$legacy)); + } + */ + display: none; + } + + .fr-sidemenu__title { + color: #161616; + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item .fr-sidemenu__link, + .fr-sidemenu__item .fr-sidemenu__btn { + color: #161616; + } + + .fr-sidemenu__item::before { + box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:first-child::before { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:last-child::before { + box-shadow: 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__link, + .fr-sidemenu__btn { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false]), + .fr-sidemenu__btn[aria-current]:not([aria-current=false]) { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, + .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before { + background-color: #000091; + } + + .fr-sidemenu__btn[aria-expanded=true] { + background-color: #e3e3fd; + } +} +@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) { + .fr-sidemenu { + box-shadow: none; + } + + .fr-sidemenu__title { + box-shadow: none; + } +} +@media print and (min-width: 48em) { + .fr-sidemenu__inner { + box-shadow: inset -1px 0 0 0 #ddd; + } + + .fr-sidemenu--right .fr-sidemenu__inner { + box-shadow: inset 1px 0 0 0 #ddd; + } +} diff --git a/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css.map b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..bf180ced0cbe97eb98bd3e069e8db3e186841566 --- /dev/null +++ b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","%3Cinput%20css%20HChDHx%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECME;IC8BE,uDAAA;;IDxBA;;;;;MAAA;IEhBF,aAAA;ECQA;;ECHA;IHmCE,cAAA;IAAA,iCAAA;EErBF;;EHWI;;ICUF,cAAA;EEVF;;EEfA;IJyBE,kDAAA;EEPF;;EElBA;IJyBE,iCAAA;EEJF;;EErBA;IJyBE,2BAAA;EEDF;;EH2BE;;IC1BA,cAAA;EEcF;;EGnDA;;ILqCE,cAAA;EEiBF;;EE1CA;;IJyBE,yBAAA;EEoBF;;EHmBI;ICvCF,yBAAA;EEyBF;AAxDF;AIDI;EPEF;ICoQM,gBAAA;EEjQN;;ECRA;IHyQM,gBAAA;EEtPN;AAVF;AKAI;ERsCA;ICZA,iCAAA;EEIF;;EHgBM;ICpBJ,gCAAA;EESF;AAJF","file":"sidemenu.print.css","sourcesContent":[null,"////\n/// Sidemenu Print\n/// @group sidemenu\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _sidemenu-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..07a1a524f4054a6b70c98bdfa1f81242c1adfef1 --- /dev/null +++ b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-sidemenu{box-shadow:inset 0 -1px 0 0 #ddd,inset 0 1px 0 0 #ddd;display:none}.fr-sidemenu__title{box-shadow:inset 0 -1px 0 0 #ddd;color:#161616}.fr-sidemenu__item .fr-sidemenu__btn,.fr-sidemenu__item .fr-sidemenu__link{color:#161616}.fr-sidemenu__item:before{box-shadow:0 -1px 0 0 #ddd,inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:first-child:before{box-shadow:inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:last-child:before{box-shadow:0 -1px 0 0 #ddd}.fr-sidemenu__btn,.fr-sidemenu__btn[aria-current]:not([aria-current=false]),.fr-sidemenu__link,.fr-sidemenu__link[aria-current]:not([aria-current=false]){color:#000091}.fr-sidemenu__btn[aria-current]:not([aria-current=false]):before,.fr-sidemenu__link[aria-current]:not([aria-current=false]):before{background-color:#000091}.fr-sidemenu__btn[aria-expanded=true]{background-color:#e3e3fd}}@media print and (min-width:48em) and (-ms-high-contrast:active),print and (min-width:48em) and (-ms-high-contrast:none){.fr-sidemenu,.fr-sidemenu__title{box-shadow:none}}@media print and (min-width:48em){.fr-sidemenu__inner{box-shadow:inset -1px 0 0 0 #ddd}.fr-sidemenu--right .fr-sidemenu__inner{box-shadow:inset 1px 0 0 0 #ddd}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css.map b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..7633f5620cab90a95404e5a93bce66ed4e2fafe1 --- /dev/null +++ b/design_system_admin/dsfr/component/sidemenu/sidemenu.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","%3Cinput%20css%20vVmBiH%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCME,aC8BE,qDAAA,CCxCF,YCQA,CCHA,oBHmCE,gCAAA,CAAA,aErBF,CHWI,2ECUF,aEVF,CEfA,0BJyBE,gDEPF,CElBA,sCJyBE,gCEJF,CErBA,qCJyBE,0BEDF,CGpCA,0JLqCE,aEiBF,CE1CA,mIJyBE,wBEoBF,CHmBI,sCCvCF,wBEyBF,CAxDF,CIDI,yHHHF,iCHyQM,eEtPN,CAVF,CKAI,kCRsCA,oBCZA,gCEIF,CHgBM,wCCpBJ,+BESF,CAJF","file":"sidemenu.print.min.css","sourcesContent":[null,"////\n/// Sidemenu Print\n/// @group sidemenu\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _sidemenu-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/skiplink/skiplink.print.css b/design_system_admin/dsfr/component/skiplink/skiplink.print.css new file mode 100644 index 0000000000000000000000000000000000000000..6c0a54cd1b3f85419e5338faa61cebb782b5771a --- /dev/null +++ b/design_system_admin/dsfr/component/skiplink/skiplink.print.css @@ -0,0 +1,12 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-skiplinks { + background-color: #eee; + } + + .fr-skiplink { + display: none; + } +} diff --git a/design_system_admin/dsfr/component/skiplink/skiplink.print.css.map b/design_system_admin/dsfr/component/skiplink/skiplink.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..77d0d31e673b217a6bb721b2cc2d1fc01ada7bce --- /dev/null +++ b/design_system_admin/dsfr/component/skiplink/skiplink.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20jXazvG%3E","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,sBAAA;ECtCF;;ECHF;IACE,aAAA;EDKA;AACF","file":"skiplink.print.css","sourcesContent":[null,"////\n/// Skiplink Print\n/// @group skiplink\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _skiplink-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}","#{ns(skiplink)} {\n display: none;\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css b/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..8a95fb5e1c70be2e7ae8536cd1fcfa184d745b3b --- /dev/null +++ b/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-skiplinks{background-color:#eee}.fr-skiplink{display:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css.map b/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..7caedb2459f5346509777ccb42829707c06269d6 --- /dev/null +++ b/design_system_admin/dsfr/component/skiplink/skiplink.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20sd40EO%3E","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,cCiCE,qBCtCF,CCHF,aACE,YDKA,CACF","file":"skiplink.print.min.css","sourcesContent":[null,"////\n/// Skiplink Print\n/// @group skiplink\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _skiplink-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}","#{ns(skiplink)} {\n display: none;\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/stepper/stepper.print.css b/design_system_admin/dsfr/component/stepper/stepper.print.css new file mode 100644 index 0000000000000000000000000000000000000000..db109fd8dabd3d09b60807b4e2e36942204def0a --- /dev/null +++ b/design_system_admin/dsfr/component/stepper/stepper.print.css @@ -0,0 +1,26 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-stepper__title { + color: #161616; + } + + .fr-stepper__state { + color: #666; + } + + .fr-stepper__details { + color: #666; + } + + .fr-stepper__steps { + background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer)), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer)); + } + + .fr-stepper__state, + .fr-stepper__details { + font-size: 1rem; + line-height: 1.5rem; + } +} diff --git a/design_system_admin/dsfr/component/stepper/stepper.print.css.map b/design_system_admin/dsfr/component/stepper/stepper.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..1d48e2e9ec9d47043709a91c7f62145bd64983e8 --- /dev/null +++ b/design_system_admin/dsfr/component/stepper/stepper.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/stepper/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%202dxZqI%3E","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECCE;ICmCE,cAAA;ECtCF;;ECUE;IF4BA,WAAA;ECnCF;;ECWE;IFwBA,WAAA;EChCF;;ECYE;IFoBA,2SAAA;EC7BF;;EEXA;;ICyBA,eAAA;IAGE,mBAAA;EHbF;AACF","file":"stepper.print.css","sourcesContent":[null,"////\n/// Stepper Print\n/// @group stepper\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _stepper-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/stepper/stepper.print.min.css b/design_system_admin/dsfr/component/stepper/stepper.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..ada903a91a37042a48fd78ba1fda3c68e2b5be80 --- /dev/null +++ b/design_system_admin/dsfr/component/stepper/stepper.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-stepper__title{color:#161616}.fr-stepper__details,.fr-stepper__state{color:#666}.fr-stepper__steps{background-image:repeating-linear-gradient(to right,#000091 0,#000091 var(--active-inner),transparent var(--active-inner),transparent var(--active-outer)),repeating-linear-gradient(to right,#eee 0,#eee var(--default-inner),transparent var(--default-inner),transparent var(--default-outer))}.fr-stepper__details,.fr-stepper__state{font-size:1rem;line-height:1.5rem}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/stepper/stepper.print.min.css.map b/design_system_admin/dsfr/component/stepper/stepper.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..d5334022ccc7567299d87eb8f510403a8bb557c3 --- /dev/null +++ b/design_system_admin/dsfr/component/stepper/stepper.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/stepper/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20Hb1WFv%3E","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCCE,mBCmCE,aCtCF,CCcE,wCFwBA,UChCF,CCYE,mBFoBA,iSC7BF,CEXA,wCCyBA,cAAA,CAGE,kBHbF,CACF","file":"stepper.print.min.css","sourcesContent":[null,"////\n/// Stepper Print\n/// @group stepper\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _stepper-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/summary/summary.print.css b/design_system_admin/dsfr/component/summary/summary.print.css new file mode 100644 index 0000000000000000000000000000000000000000..502d70cf0239775d4dd0fee06ca3da6d428e7674 --- /dev/null +++ b/design_system_admin/dsfr/component/summary/summary.print.css @@ -0,0 +1,17 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-summary { + background-color: #eee; + display: none; + } + + .fr-summary__title { + color: #161616; + } + + .fr-summary li > a { + color: #161616; + } +} diff --git a/design_system_admin/dsfr/component/summary/summary.print.css.map b/design_system_admin/dsfr/component/summary/summary.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..1f9e39b1bea573d1defb8c6bc61049f99ebdee28 --- /dev/null +++ b/design_system_admin/dsfr/component/summary/summary.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/summary/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","%3Cinput%20css%20PJbzrD%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;ICiCE,sBAAA;ICxCF,aAAA;ECEA;;ECGA;IHmCE,cAAA;EEnCF;;EHUE;ICyBA,cAAA;EEhCF;AAIF","file":"summary.print.css","sourcesContent":[null,"////\n/// Summary Print\n/// @group summary\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _summary-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/summary/summary.print.min.css b/design_system_admin/dsfr/component/summary/summary.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0a19f29178be29b71f308527a45531e4f26eab34 --- /dev/null +++ b/design_system_admin/dsfr/component/summary/summary.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-summary{background-color:#eee;display:none}.fr-summary li>a,.fr-summary__title{color:#161616}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/summary/summary.print.min.css.map b/design_system_admin/dsfr/component/summary/summary.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..3e654f9aacbc162d0e62143407b2af40b95365f6 --- /dev/null +++ b/design_system_admin/dsfr/component/summary/summary.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/summary/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","%3Cinput%20css%20pBp5yt%3E"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCGE,YCiCE,qBAAA,CCxCF,YCEA,CHaE,oCCyBA,aEhCF,CAIF","file":"summary.print.min.css","sourcesContent":[null,"////\n/// Summary Print\n/// @group summary\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _summary-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tab/tab.print.css b/design_system_admin/dsfr/component/tab/tab.print.css new file mode 100644 index 0000000000000000000000000000000000000000..5111ac4beaef3578cbb7bec5e24cd32a8a8ecd04 --- /dev/null +++ b/design_system_admin/dsfr/component/tab/tab.print.css @@ -0,0 +1,37 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-tabs { + box-shadow: inset 0 -1px 0 0 #ddd; + + /** + * Tab button + */ + } + + .fr-tabs::before { + box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd; + } + + .fr-tabs__tab { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + box-shadow: 0 2px 0 0 #fff; + } + + .fr-tabs__tab:not([aria-selected=true]) { + background-color: #e3e3fd; + color: #161616; + } + + .fr-tabs__tab[aria-selected=true]:not(:disabled) { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + color: #000091; + } + + .fr-tabs__tab:disabled { + color: #929292; + background-color: #e5e5e5; + } +} diff --git a/design_system_admin/dsfr/component/tab/tab.print.css.map b/design_system_admin/dsfr/component/tab/tab.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..7c9aa19b7d1d780a4a8c39539ebe8e8bfb96de4c --- /dev/null +++ b/design_system_admin/dsfr/component/tab/tab.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tab/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20QkauT3%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,iCAAA;;IDzBA;;KAAA;EEVF;;ECUA;IFyBE,6EAAA;EChCF;;EFUE;ICsBA,4JAAA;IAAA,0BAAA;EC5BF;;EFUI;ICkBF,yBAAA;IAAA,cAAA;ECxBF;;EFWI;ICaF,kKAAA;IAAA,sBAAA;IAAA,cAAA;ECnBF;;EEHS;IHsBP,cAAA;IAAA,yBAAA;ECfF;AACF","file":"tab.print.css","sourcesContent":[null,"////\n/// Tab Print\n/// @group tab\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tab-scheme('print');\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tab/tab.print.min.css b/design_system_admin/dsfr/component/tab/tab.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..99b8ff6ebd891c268f80fe1b20513e5364c180d2 --- /dev/null +++ b/design_system_admin/dsfr/component/tab/tab.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-tabs{box-shadow:inset 0 -1px 0 0 #ddd}.fr-tabs:before{box-shadow:inset 0 1px 0 0 #ddd,inset 1px 0 0 0 #ddd,inset -1px 0 0 0 #ddd}.fr-tabs__tab{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);box-shadow:0 2px 0 0 #fff}.fr-tabs__tab:not([aria-selected=true]){background-color:#e3e3fd;color:#161616}.fr-tabs__tab[aria-selected=true]:not(:disabled){background-color:#fff;background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);color:#000091}.fr-tabs__tab:disabled{background-color:#e5e5e5;color:#929292}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tab/tab.print.min.css.map b/design_system_admin/dsfr/component/tab/tab.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..73c81f604418f0b82696807ecc0604bbc0f9205c --- /dev/null +++ b/design_system_admin/dsfr/component/tab/tab.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tab/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20obxv3O%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,SCgCE,gCCnCF,CCUA,gBFyBE,0EChCF,CFUE,cCsBA,gJAAA,CAAA,yBC5BF,CFUI,wCCkBF,wBAAA,CAAA,aCxBF,CFWI,iDCaF,qBAAA,CAAA,sJAAA,CAAA,aCnBF,CEHS,uBHsBP,wBAAA,CAAA,aCfF,CACF","file":"tab.print.min.css","sourcesContent":[null,"////\n/// Tab Print\n/// @group tab\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tab-scheme('print');\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/table/table.print.css b/design_system_admin/dsfr/component/table/table.print.css new file mode 100644 index 0000000000000000000000000000000000000000..432969077a265fb5351b45b22bc2c2d3bd826340 --- /dev/null +++ b/design_system_admin/dsfr/component/table/table.print.css @@ -0,0 +1,408 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-table { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table caption { + color: #161616; + } + + .fr-table thead { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + background-color: #eee; + color: #161616; + } + + .fr-table tbody { + background-color: #f6f6f6; + } + + .fr-table tbody tr:nth-child(even) { + background-color: #eee; + } + + .fr-table--green-tilleul-verveine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-tilleul-verveine thead { + background-image: linear-gradient(0deg, #66673d, #66673d); + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine tbody { + background-color: #fef7da; + } + + .fr-table--green-tilleul-verveine tbody tr:nth-child(even) { + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-table--green-bourgeon { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-bourgeon thead { + background-image: linear-gradient(0deg, #447049, #447049); + background-color: #c9fcac; + } + + .fr-table--green-bourgeon tbody { + background-color: #e6feda; + } + + .fr-table--green-bourgeon tbody tr:nth-child(even) { + background-color: #c9fcac; + } + + .fr-table--green-bourgeon.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-table--green-emeraude { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-emeraude thead { + background-image: linear-gradient(0deg, #297254, #297254); + background-color: #c3fad5; + } + + .fr-table--green-emeraude tbody { + background-color: #e3fdeb; + } + + .fr-table--green-emeraude tbody tr:nth-child(even) { + background-color: #c3fad5; + } + + .fr-table--green-emeraude.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-table--green-menthe { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-menthe thead { + background-image: linear-gradient(0deg, #37635f, #37635f); + background-color: #bafaee; + } + + .fr-table--green-menthe tbody { + background-color: #dffdf7; + } + + .fr-table--green-menthe tbody tr:nth-child(even) { + background-color: #bafaee; + } + + .fr-table--green-menthe.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-table--green-archipel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-archipel thead { + background-image: linear-gradient(0deg, #006a6f, #006a6f); + background-color: #c7f6fc; + } + + .fr-table--green-archipel tbody { + background-color: #e5fbfd; + } + + .fr-table--green-archipel tbody tr:nth-child(even) { + background-color: #c7f6fc; + } + + .fr-table--green-archipel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-table--blue-ecume { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-ecume thead { + background-image: linear-gradient(0deg, #2f4077, #2f4077); + background-color: #e9edfe; + } + + .fr-table--blue-ecume tbody { + background-color: #f4f6fe; + } + + .fr-table--blue-ecume tbody tr:nth-child(even) { + background-color: #e9edfe; + } + + .fr-table--blue-ecume.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-table--blue-cumulus { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-cumulus thead { + background-image: linear-gradient(0deg, #3558a2, #3558a2); + background-color: #e6eefe; + } + + .fr-table--blue-cumulus tbody { + background-color: #f3f6fe; + } + + .fr-table--blue-cumulus tbody tr:nth-child(even) { + background-color: #e6eefe; + } + + .fr-table--blue-cumulus.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-table--purple-glycine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--purple-glycine thead { + background-image: linear-gradient(0deg, #6e445a, #6e445a); + background-color: #fee7fc; + } + + .fr-table--purple-glycine tbody { + background-color: #fef3fd; + } + + .fr-table--purple-glycine tbody tr:nth-child(even) { + background-color: #fee7fc; + } + + .fr-table--purple-glycine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-table--pink-macaron { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-macaron thead { + background-image: linear-gradient(0deg, #8d533e, #8d533e); + background-color: #fee9e6; + } + + .fr-table--pink-macaron tbody { + background-color: #fef4f2; + } + + .fr-table--pink-macaron tbody tr:nth-child(even) { + background-color: #fee9e6; + } + + .fr-table--pink-macaron.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-table--pink-tuile { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-tuile thead { + background-image: linear-gradient(0deg, #a94645, #a94645); + background-color: #fee9e7; + } + + .fr-table--pink-tuile tbody { + background-color: #fef4f3; + } + + .fr-table--pink-tuile tbody tr:nth-child(even) { + background-color: #fee9e7; + } + + .fr-table--pink-tuile.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-table--yellow-tournesol { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-tournesol thead { + background-image: linear-gradient(0deg, #716043, #716043); + background-color: #feecc2; + } + + .fr-table--yellow-tournesol tbody { + background-color: #fef6e3; + } + + .fr-table--yellow-tournesol tbody tr:nth-child(even) { + background-color: #feecc2; + } + + .fr-table--yellow-tournesol.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-table--yellow-moutarde { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-moutarde thead { + background-image: linear-gradient(0deg, #695240, #695240); + background-color: #feebd0; + } + + .fr-table--yellow-moutarde tbody { + background-color: #fef5e8; + } + + .fr-table--yellow-moutarde tbody tr:nth-child(even) { + background-color: #feebd0; + } + + .fr-table--yellow-moutarde.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-table--orange-terre-battue { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--orange-terre-battue thead { + background-image: linear-gradient(0deg, #755348, #755348); + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue tbody { + background-color: #fef4f2; + } + + .fr-table--orange-terre-battue tbody tr:nth-child(even) { + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-table--brown-cafe-creme { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-cafe-creme thead { + background-image: linear-gradient(0deg, #685c48, #685c48); + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme tbody { + background-color: #fbf6ed; + } + + .fr-table--brown-cafe-creme tbody tr:nth-child(even) { + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-table--brown-caramel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-caramel thead { + background-image: linear-gradient(0deg, #845d48, #845d48); + background-color: #f7ebe5; + } + + .fr-table--brown-caramel tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-caramel tbody tr:nth-child(even) { + background-color: #f7ebe5; + } + + .fr-table--brown-caramel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-table--brown-opera { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-opera thead { + background-image: linear-gradient(0deg, #745b47, #745b47); + background-color: #f7ece4; + } + + .fr-table--brown-opera tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-opera tbody tr:nth-child(even) { + background-color: #f7ece4; + } + + .fr-table--brown-opera.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-table--beige-gris-galet { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--beige-gris-galet thead { + background-image: linear-gradient(0deg, #6a6156, #6a6156); + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet tbody { + background-color: #f9f6f2; + } + + .fr-table--beige-gris-galet tbody tr:nth-child(even) { + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #aea397, #aea397); + } + + .fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ddd, #ddd); + + /* Style bordered, enleve le style even/odd */ + } + + .fr-table td, + .fr-table th { + font-size: 1rem; + line-height: 1.5rem; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-table--bordered tbody tr:nth-child(even) { + background-color: transparent; + } + + .fr-table--bordered tbody tr:nth-child(even):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-table--bordered tbody tr:nth-child(even):active { + background-color: rgba(0, 0, 0, 0.1); + } +} diff --git a/design_system_admin/dsfr/component/table/table.print.css.map b/design_system_admin/dsfr/component/table/table.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8dcb58dc89338529b3ba5feb7ef7c9873fc90d5d --- /dev/null +++ b/design_system_admin/dsfr/component/table/table.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/table/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","%3Cinput%20css%20EfQ5J_%3E","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECGE;IA4CE,2DAAA;ECjDF;;EDME;IEgCA,cAAA;EDnCF;;EDOE;IE4BA,yDAAA;IAAA,sBAAA;IAAA,cAAA;ED9BF;;EDSE;IEqBA,yBAAA;ED3BF;;EDSI;IEkBF,sBAAA;EDxBF;;EEPI;IHgCA,2DAAA;ECtBJ;;EDSI;IEYF,yDAAA;IAAA,yBAAA;EDjBF;;EDUI;IEOF,yBAAA;EDdF;;EDUM;IEIJ,yBAAA;EDXF;;EDeQ;IEJN,yDAAA;EDRF;;EEvBI;IHgCA,2DAAA;ECNJ;;EDPI;IEYF,yDAAA;IAAA,yBAAA;EDDF;;EDNI;IEOF,yBAAA;EDEF;;EDNM;IEIJ,yBAAA;EDKF;;EDDQ;IEJN,yDAAA;EDQF;;EEvCI;IHgCA,2DAAA;ECUJ;;EDvBI;IEYF,yDAAA;IAAA,yBAAA;EDeF;;EDtBI;IEOF,yBAAA;EDkBF;;EDtBM;IEIJ,yBAAA;EDqBF;;EDjBQ;IEJN,yDAAA;EDwBF;;EEvDI;IHgCA,2DAAA;EC0BJ;;EDvCI;IEYF,yDAAA;IAAA,yBAAA;ED+BF;;EDtCI;IEOF,yBAAA;EDkCF;;EDtCM;IEIJ,yBAAA;EDqCF;;EDjCQ;IEJN,yDAAA;EDwCF;;EEvEI;IHgCA,2DAAA;EC0CJ;;EDvDI;IEYF,yDAAA;IAAA,yBAAA;ED+CF;;EDtDI;IEOF,yBAAA;EDkDF;;EDtDM;IEIJ,yBAAA;EDqDF;;EDjDQ;IEJN,yDAAA;EDwDF;;EEvFI;IHgCA,2DAAA;EC0DJ;;EDvEI;IEYF,yDAAA;IAAA,yBAAA;ED+DF;;EDtEI;IEOF,yBAAA;EDkEF;;EDtEM;IEIJ,yBAAA;EDqEF;;EDjEQ;IEJN,yDAAA;EDwEF;;EEvGI;IHgCA,2DAAA;EC0EJ;;EDvFI;IEYF,yDAAA;IAAA,yBAAA;ED+EF;;EDtFI;IEOF,yBAAA;EDkFF;;EDtFM;IEIJ,yBAAA;EDqFF;;EDjFQ;IEJN,yDAAA;EDwFF;;EEvHI;IHgCA,2DAAA;EC0FJ;;EDvGI;IEYF,yDAAA;IAAA,yBAAA;ED+FF;;EDtGI;IEOF,yBAAA;EDkGF;;EDtGM;IEIJ,yBAAA;EDqGF;;EDjGQ;IEJN,yDAAA;EDwGF;;EEvII;IHgCA,2DAAA;EC0GJ;;EDvHI;IEYF,yDAAA;IAAA,yBAAA;ED+GF;;EDtHI;IEOF,yBAAA;EDkHF;;EDtHM;IEIJ,yBAAA;EDqHF;;EDjHQ;IEJN,yDAAA;EDwHF;;EEvJI;IHgCA,2DAAA;EC0HJ;;EDvII;IEYF,yDAAA;IAAA,yBAAA;ED+HF;;EDtII;IEOF,yBAAA;EDkIF;;EDtIM;IEIJ,yBAAA;EDqIF;;EDjIQ;IEJN,yDAAA;EDwIF;;EEvKI;IHgCA,2DAAA;EC0IJ;;EDvJI;IEYF,yDAAA;IAAA,yBAAA;ED+IF;;EDtJI;IEOF,yBAAA;EDkJF;;EDtJM;IEIJ,yBAAA;EDqJF;;EDjJQ;IEJN,yDAAA;EDwJF;;EEvLI;IHgCA,2DAAA;EC0JJ;;EDvKI;IEYF,yDAAA;IAAA,yBAAA;ED+JF;;EDtKI;IEOF,yBAAA;EDkKF;;EDtKM;IEIJ,yBAAA;EDqKF;;EDjKQ;IEJN,yDAAA;EDwKF;;EEvMI;IHgCA,2DAAA;EC0KJ;;EDvLI;IEYF,yDAAA;IAAA,yBAAA;ED+KF;;EDtLI;IEOF,yBAAA;EDkLF;;EDtLM;IEIJ,yBAAA;EDqLF;;EDjLQ;IEJN,yDAAA;EDwLF;;EEvNI;IHgCA,2DAAA;EC0LJ;;EDvMI;IEYF,yDAAA;IAAA,yBAAA;ED+LF;;EDtMI;IEOF,yBAAA;EDkMF;;EDtMM;IEIJ,yBAAA;EDqMF;;EDjMQ;IEJN,yDAAA;EDwMF;;EEvOI;IHgCA,2DAAA;EC0MJ;;EDvNI;IEYF,yDAAA;IAAA,yBAAA;ED+MF;;EDtNI;IEOF,yBAAA;EDkNF;;EDtNM;IEIJ,yBAAA;EDqNF;;EDjNQ;IEJN,yDAAA;EDwNF;;EEvPI;IHgCA,2DAAA;EC0NJ;;EDvOI;IEYF,yDAAA;IAAA,yBAAA;ED+NF;;EDtOI;IEOF,yBAAA;EDkOF;;EDtOM;IEIJ,yBAAA;EDqOF;;EDjOQ;IEJN,yDAAA;EDwOF;;EEvQI;IHgCA,2DAAA;EC0OJ;;EDvPI;IEYF,yDAAA;IAAA,yBAAA;ED+OF;;EDtPI;IEOF,yBAAA;EDkPF;;EDtPM;IEIJ,yBAAA;EDqPF;;EDjPQ;IEJN,yDAAA;EDwPF;;ED1OM;IEdJ,mDAAA;;IFiBM,8CAAA;EC2OR;;EGpSA;;ICyBA,eAAA;IAGE,mBAAA;EJ0RF;AAjBF;AK7RI;ENkDM;IE6DJ,6BAAA;EDkLJ;;EC/KM;IACE,qCAAA;EDiLR;;EC9KM;IACE,oCAAA;EDgLR;AACF","file":"table.print.css","sourcesContent":[null,"////\n/// Table Print\n/// @group table\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _table-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/table/table.print.min.css b/design_system_admin/dsfr/component/table/table.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..c0ed7b05dbd81ba7971ac2465def267d25b952cc --- /dev/null +++ b/design_system_admin/dsfr/component/table/table.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-table caption{color:#161616}.fr-table thead{background-color:#eee;background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a);color:#161616}.fr-table tbody{background-color:#f6f6f6}.fr-table tbody tr:nth-child(2n){background-color:#eee}.fr-table--green-tilleul-verveine thead{background-color:#fceeac;background-image:linear-gradient(0deg,#66673d,#66673d)}.fr-table--green-tilleul-verveine tbody{background-color:#fef7da}.fr-table--green-tilleul-verveine tbody tr:nth-child(2n){background-color:#fceeac}.fr-table--green-tilleul-verveine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-table--green-bourgeon thead{background-color:#c9fcac;background-image:linear-gradient(0deg,#447049,#447049)}.fr-table--green-bourgeon tbody{background-color:#e6feda}.fr-table--green-bourgeon tbody tr:nth-child(2n){background-color:#c9fcac}.fr-table--green-bourgeon.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-table--green-emeraude thead{background-color:#c3fad5;background-image:linear-gradient(0deg,#297254,#297254)}.fr-table--green-emeraude tbody{background-color:#e3fdeb}.fr-table--green-emeraude tbody tr:nth-child(2n){background-color:#c3fad5}.fr-table--green-emeraude.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-table--green-menthe thead{background-color:#bafaee;background-image:linear-gradient(0deg,#37635f,#37635f)}.fr-table--green-menthe tbody{background-color:#dffdf7}.fr-table--green-menthe tbody tr:nth-child(2n){background-color:#bafaee}.fr-table--green-menthe.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009081,#009081)}.fr-table--green-archipel thead{background-color:#c7f6fc;background-image:linear-gradient(0deg,#006a6f,#006a6f)}.fr-table--green-archipel tbody{background-color:#e5fbfd}.fr-table--green-archipel tbody tr:nth-child(2n){background-color:#c7f6fc}.fr-table--green-archipel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009099,#009099)}.fr-table--blue-ecume thead{background-color:#e9edfe;background-image:linear-gradient(0deg,#2f4077,#2f4077)}.fr-table--blue-ecume tbody{background-color:#f4f6fe}.fr-table--blue-ecume tbody tr:nth-child(2n){background-color:#e9edfe}.fr-table--blue-ecume.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-table--blue-cumulus thead{background-color:#e6eefe;background-image:linear-gradient(0deg,#3558a2,#3558a2)}.fr-table--blue-cumulus tbody{background-color:#f3f6fe}.fr-table--blue-cumulus tbody tr:nth-child(2n){background-color:#e6eefe}.fr-table--blue-cumulus.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-table--purple-glycine thead{background-color:#fee7fc;background-image:linear-gradient(0deg,#6e445a,#6e445a)}.fr-table--purple-glycine tbody{background-color:#fef3fd}.fr-table--purple-glycine tbody tr:nth-child(2n){background-color:#fee7fc}.fr-table--purple-glycine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-table--pink-macaron thead{background-color:#fee9e6;background-image:linear-gradient(0deg,#8d533e,#8d533e)}.fr-table--pink-macaron tbody{background-color:#fef4f2}.fr-table--pink-macaron tbody tr:nth-child(2n){background-color:#fee9e6}.fr-table--pink-macaron.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-table--pink-tuile thead{background-color:#fee9e7;background-image:linear-gradient(0deg,#a94645,#a94645)}.fr-table--pink-tuile tbody{background-color:#fef4f3}.fr-table--pink-tuile tbody tr:nth-child(2n){background-color:#fee9e7}.fr-table--pink-tuile.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-table--yellow-tournesol thead{background-color:#feecc2;background-image:linear-gradient(0deg,#716043,#716043)}.fr-table--yellow-tournesol tbody{background-color:#fef6e3}.fr-table--yellow-tournesol tbody tr:nth-child(2n){background-color:#feecc2}.fr-table--yellow-tournesol.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-table--yellow-moutarde thead{background-color:#feebd0;background-image:linear-gradient(0deg,#695240,#695240)}.fr-table--yellow-moutarde tbody{background-color:#fef5e8}.fr-table--yellow-moutarde tbody tr:nth-child(2n){background-color:#feebd0}.fr-table--yellow-moutarde.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-table--orange-terre-battue thead{background-color:#fee9e5;background-image:linear-gradient(0deg,#755348,#755348)}.fr-table--orange-terre-battue tbody{background-color:#fef4f2}.fr-table--orange-terre-battue tbody tr:nth-child(2n){background-color:#fee9e5}.fr-table--orange-terre-battue.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-table--brown-cafe-creme thead{background-color:#f7ecdb;background-image:linear-gradient(0deg,#685c48,#685c48)}.fr-table--brown-cafe-creme tbody{background-color:#fbf6ed}.fr-table--brown-cafe-creme tbody tr:nth-child(2n){background-color:#f7ecdb}.fr-table--brown-cafe-creme.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-table--brown-caramel thead{background-color:#f7ebe5;background-image:linear-gradient(0deg,#845d48,#845d48)}.fr-table--brown-caramel tbody{background-color:#fbf5f2}.fr-table--brown-caramel tbody tr:nth-child(2n){background-color:#f7ebe5}.fr-table--brown-caramel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-table--brown-opera thead{background-color:#f7ece4;background-image:linear-gradient(0deg,#745b47,#745b47)}.fr-table--brown-opera tbody{background-color:#fbf5f2}.fr-table--brown-opera tbody tr:nth-child(2n){background-color:#f7ece4}.fr-table--brown-opera.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-table--beige-gris-galet thead{background-color:#f3ede5;background-image:linear-gradient(0deg,#6a6156,#6a6156)}.fr-table--beige-gris-galet tbody{background-color:#f9f6f2}.fr-table--beige-gris-galet tbody tr:nth-child(2n){background-color:#f3ede5}.fr-table--beige-gris-galet.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-table td,.fr-table th{font-size:1rem;line-height:1.5rem}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-table--bordered tbody tr:nth-child(2n){background-color:transparent}.fr-table--bordered tbody tr:nth-child(2n):hover{background-color:rgba(0,0,0,.05)}.fr-table--bordered tbody tr:nth-child(2n):active{background-color:rgba(0,0,0,.1)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/table/table.print.min.css.map b/design_system_admin/dsfr/component/table/table.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..6a31844da920489f36e4509569d2b0f62bd13e84 --- /dev/null +++ b/design_system_admin/dsfr/component/table/table.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/table/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%203trRi8%3E","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCII,kBCgCA,aCnCF,CFOE,gBC4BA,qBAAA,CAAA,sDAAA,CAAA,aC9BF,CFSE,gBCqBA,wBC3BF,CFSI,iCCkBF,qBCxBF,CFYI,wCCYF,wBAAA,CAAA,sDCjBF,CFUI,wCCOF,wBCdF,CFUM,yDCIJ,wBCXF,CFeQ,8DCJN,sDCRF,CFJI,gCCYF,wBAAA,CAAA,sDCDF,CFNI,gCCOF,wBCEF,CFNM,iDCIJ,wBCKF,CFDQ,sDCJN,sDCQF,CFpBI,gCCYF,wBAAA,CAAA,sDCeF,CFtBI,gCCOF,wBCkBF,CFtBM,iDCIJ,wBCqBF,CFjBQ,sDCJN,sDCwBF,CFpCI,8BCYF,wBAAA,CAAA,sDC+BF,CFtCI,8BCOF,wBCkCF,CFtCM,+CCIJ,wBCqCF,CFjCQ,oDCJN,sDCwCF,CFpDI,gCCYF,wBAAA,CAAA,sDC+CF,CFtDI,gCCOF,wBCkDF,CFtDM,iDCIJ,wBCqDF,CFjDQ,sDCJN,sDCwDF,CFpEI,4BCYF,wBAAA,CAAA,sDC+DF,CFtEI,4BCOF,wBCkEF,CFtEM,6CCIJ,wBCqEF,CFjEQ,kDCJN,sDCwEF,CFpFI,8BCYF,wBAAA,CAAA,sDC+EF,CFtFI,8BCOF,wBCkFF,CFtFM,+CCIJ,wBCqFF,CFjFQ,oDCJN,sDCwFF,CFpGI,gCCYF,wBAAA,CAAA,sDC+FF,CFtGI,gCCOF,wBCkGF,CFtGM,iDCIJ,wBCqGF,CFjGQ,sDCJN,sDCwGF,CFpHI,8BCYF,wBAAA,CAAA,sDC+GF,CFtHI,8BCOF,wBCkHF,CFtHM,+CCIJ,wBCqHF,CFjHQ,oDCJN,sDCwHF,CFpII,4BCYF,wBAAA,CAAA,sDC+HF,CFtII,4BCOF,wBCkIF,CFtIM,6CCIJ,wBCqIF,CFjIQ,kDCJN,sDCwIF,CFpJI,kCCYF,wBAAA,CAAA,sDC+IF,CFtJI,kCCOF,wBCkJF,CFtJM,mDCIJ,wBCqJF,CFjJQ,wDCJN,sDCwJF,CFpKI,iCCYF,wBAAA,CAAA,sDC+JF,CFtKI,iCCOF,wBCkKF,CFtKM,kDCIJ,wBCqKF,CFjKQ,uDCJN,sDCwKF,CFpLI,qCCYF,wBAAA,CAAA,sDC+KF,CFtLI,qCCOF,wBCkLF,CFtLM,sDCIJ,wBCqLF,CFjLQ,2DCJN,sDCwLF,CFpMI,kCCYF,wBAAA,CAAA,sDC+LF,CFtMI,kCCOF,wBCkMF,CFtMM,mDCIJ,wBCqMF,CFjMQ,wDCJN,sDCwMF,CFpNI,+BCYF,wBAAA,CAAA,sDC+MF,CFtNI,+BCOF,wBCkNF,CFtNM,gDCIJ,wBCqNF,CFjNQ,qDCJN,sDCwNF,CFpOI,6BCYF,wBAAA,CAAA,sDC+NF,CFtOI,6BCOF,wBCkOF,CFtOM,8CCIJ,wBCqOF,CFjOQ,mDCJN,sDCwOF,CFpPI,kCCYF,wBAAA,CAAA,sDC+OF,CFtPI,kCCOF,wBCkPF,CFtPM,mDCIJ,wBCqPF,CFjPQ,wDCJN,sDCwPF,CF1OM,6BCdJ,gDC4PF,CCpSA,0BCyBA,cAAA,CAGE,kBF0RF,CAjBF,CG7RI,+ELkDM,2CC6DJ,4BCkLJ,CD/KM,iDACE,gCCiLR,CD9KM,kDACE,+BCgLR,CACF","file":"table.print.min.css","sourcesContent":[null,"////\n/// Table Print\n/// @group table\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _table-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tag/tag.print.css b/design_system_admin/dsfr/component/tag/tag.print.css new file mode 100644 index 0000000000000000000000000000000000000000..b744221ace5915237761d7caa32f785ea6a7c4dc --- /dev/null +++ b/design_system_admin/dsfr/component/tag/tag.print.css @@ -0,0 +1,470 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-tag { + color: #161616; + background-color: #eee; + } + + .fr-tag[aria-pressed=false] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-tag[aria-pressed=false]:hover { + background-color: #c1c1fb; + } + + .fr-tag[aria-pressed=false]:active { + background-color: #adadf9; + } + + .fr-tag.fr-tag--dismiss { + color: #f5f5fe; + background-color: #000091; + } + + .fr-tag.fr-tag--dismiss:hover { + background-color: #1212ff; + } + + .fr-tag.fr-tag--dismiss:active { + background-color: #2323ff; + } + + a[href].fr-tag, + button.fr-tag, + input[type=button].fr-tag { + color: #000091; + background-color: #e3e3fd; + } + + a[href].fr-tag:hover, + button.fr-tag:hover, + input[type=button].fr-tag:hover { + background-color: #c1c1fb; + } + + a[href].fr-tag:active, + button.fr-tag:active, + input[type=button].fr-tag:active { + background-color: #adadf9; + } + + a[href].fr-tag--green-tilleul-verveine, + button.fr-tag--green-tilleul-verveine, + input[type=button].fr-tag--green-tilleul-verveine { + color: #66673d; + background-color: #fbe769; + } + + a[href].fr-tag--green-tilleul-verveine:hover, + button.fr-tag--green-tilleul-verveine:hover, + input[type=button].fr-tag--green-tilleul-verveine:hover { + background-color: #d7c655; + } + + a[href].fr-tag--green-tilleul-verveine:active, + button.fr-tag--green-tilleul-verveine:active, + input[type=button].fr-tag--green-tilleul-verveine:active { + background-color: #c2b24c; + } + + a[href].fr-tag--green-bourgeon, + button.fr-tag--green-bourgeon, + input[type=button].fr-tag--green-bourgeon { + color: #447049; + background-color: #a9fb68; + } + + a[href].fr-tag--green-bourgeon:hover, + button.fr-tag--green-bourgeon:hover, + input[type=button].fr-tag--green-bourgeon:hover { + background-color: #8ed654; + } + + a[href].fr-tag--green-bourgeon:active, + button.fr-tag--green-bourgeon:active, + input[type=button].fr-tag--green-bourgeon:active { + background-color: #7fc04b; + } + + a[href].fr-tag--green-emeraude, + button.fr-tag--green-emeraude, + input[type=button].fr-tag--green-emeraude { + color: #297254; + background-color: #9ef9be; + } + + a[href].fr-tag--green-emeraude:hover, + button.fr-tag--green-emeraude:hover, + input[type=button].fr-tag--green-emeraude:hover { + background-color: #69df97; + } + + a[href].fr-tag--green-emeraude:active, + button.fr-tag--green-emeraude:active, + input[type=button].fr-tag--green-emeraude:active { + background-color: #5ec988; + } + + a[href].fr-tag--green-menthe, + button.fr-tag--green-menthe, + input[type=button].fr-tag--green-menthe { + color: #37635f; + background-color: #8bf8e7; + } + + a[href].fr-tag--green-menthe:hover, + button.fr-tag--green-menthe:hover, + input[type=button].fr-tag--green-menthe:hover { + background-color: #6ed5c5; + } + + a[href].fr-tag--green-menthe:active, + button.fr-tag--green-menthe:active, + input[type=button].fr-tag--green-menthe:active { + background-color: #62bfb1; + } + + a[href].fr-tag--green-archipel, + button.fr-tag--green-archipel, + input[type=button].fr-tag--green-archipel { + color: #006a6f; + background-color: #a6f2fa; + } + + a[href].fr-tag--green-archipel:hover, + button.fr-tag--green-archipel:hover, + input[type=button].fr-tag--green-archipel:hover { + background-color: #62dbe5; + } + + a[href].fr-tag--green-archipel:active, + button.fr-tag--green-archipel:active, + input[type=button].fr-tag--green-archipel:active { + background-color: #58c5cf; + } + + a[href].fr-tag--blue-ecume, + button.fr-tag--blue-ecume, + input[type=button].fr-tag--blue-ecume { + color: #2f4077; + background-color: #dee5fd; + } + + a[href].fr-tag--blue-ecume:hover, + button.fr-tag--blue-ecume:hover, + input[type=button].fr-tag--blue-ecume:hover { + background-color: #b4c5fb; + } + + a[href].fr-tag--blue-ecume:active, + button.fr-tag--blue-ecume:active, + input[type=button].fr-tag--blue-ecume:active { + background-color: #99b3f9; + } + + a[href].fr-tag--blue-cumulus, + button.fr-tag--blue-cumulus, + input[type=button].fr-tag--blue-cumulus { + color: #3558a2; + background-color: #dae6fd; + } + + a[href].fr-tag--blue-cumulus:hover, + button.fr-tag--blue-cumulus:hover, + input[type=button].fr-tag--blue-cumulus:hover { + background-color: #a9c8fb; + } + + a[href].fr-tag--blue-cumulus:active, + button.fr-tag--blue-cumulus:active, + input[type=button].fr-tag--blue-cumulus:active { + background-color: #8ab8f9; + } + + a[href].fr-tag--purple-glycine, + button.fr-tag--purple-glycine, + input[type=button].fr-tag--purple-glycine { + color: #6e445a; + background-color: #fddbfa; + } + + a[href].fr-tag--purple-glycine:hover, + button.fr-tag--purple-glycine:hover, + input[type=button].fr-tag--purple-glycine:hover { + background-color: #fbaff5; + } + + a[href].fr-tag--purple-glycine:active, + button.fr-tag--purple-glycine:active, + input[type=button].fr-tag--purple-glycine:active { + background-color: #fa96f2; + } + + a[href].fr-tag--pink-macaron, + button.fr-tag--pink-macaron, + input[type=button].fr-tag--pink-macaron { + color: #8d533e; + background-color: #fddfda; + } + + a[href].fr-tag--pink-macaron:hover, + button.fr-tag--pink-macaron:hover, + input[type=button].fr-tag--pink-macaron:hover { + background-color: #fbb8ab; + } + + a[href].fr-tag--pink-macaron:active, + button.fr-tag--pink-macaron:active, + input[type=button].fr-tag--pink-macaron:active { + background-color: #faa18d; + } + + a[href].fr-tag--pink-tuile, + button.fr-tag--pink-tuile, + input[type=button].fr-tag--pink-tuile { + color: #a94645; + background-color: #fddfdb; + } + + a[href].fr-tag--pink-tuile:hover, + button.fr-tag--pink-tuile:hover, + input[type=button].fr-tag--pink-tuile:hover { + background-color: #fbb8ad; + } + + a[href].fr-tag--pink-tuile:active, + button.fr-tag--pink-tuile:active, + input[type=button].fr-tag--pink-tuile:active { + background-color: #faa191; + } + + a[href].fr-tag--yellow-tournesol, + button.fr-tag--yellow-tournesol, + input[type=button].fr-tag--yellow-tournesol { + color: #716043; + background-color: #fde39c; + } + + a[href].fr-tag--yellow-tournesol:hover, + button.fr-tag--yellow-tournesol:hover, + input[type=button].fr-tag--yellow-tournesol:hover { + background-color: #e9c53b; + } + + a[href].fr-tag--yellow-tournesol:active, + button.fr-tag--yellow-tournesol:active, + input[type=button].fr-tag--yellow-tournesol:active { + background-color: #d3b235; + } + + a[href].fr-tag--yellow-moutarde, + button.fr-tag--yellow-moutarde, + input[type=button].fr-tag--yellow-moutarde { + color: #695240; + background-color: #fde2b5; + } + + a[href].fr-tag--yellow-moutarde:hover, + button.fr-tag--yellow-moutarde:hover, + input[type=button].fr-tag--yellow-moutarde:hover { + background-color: #f6c43c; + } + + a[href].fr-tag--yellow-moutarde:active, + button.fr-tag--yellow-moutarde:active, + input[type=button].fr-tag--yellow-moutarde:active { + background-color: #dfb135; + } + + a[href].fr-tag--orange-terre-battue, + button.fr-tag--orange-terre-battue, + input[type=button].fr-tag--orange-terre-battue { + color: #755348; + background-color: #fddfd8; + } + + a[href].fr-tag--orange-terre-battue:hover, + button.fr-tag--orange-terre-battue:hover, + input[type=button].fr-tag--orange-terre-battue:hover { + background-color: #fbb8a5; + } + + a[href].fr-tag--orange-terre-battue:active, + button.fr-tag--orange-terre-battue:active, + input[type=button].fr-tag--orange-terre-battue:active { + background-color: #faa184; + } + + a[href].fr-tag--brown-cafe-creme, + button.fr-tag--brown-cafe-creme, + input[type=button].fr-tag--brown-cafe-creme { + color: #685c48; + background-color: #f4e3c7; + } + + a[href].fr-tag--brown-cafe-creme:hover, + button.fr-tag--brown-cafe-creme:hover, + input[type=button].fr-tag--brown-cafe-creme:hover { + background-color: #e1c386; + } + + a[href].fr-tag--brown-cafe-creme:active, + button.fr-tag--brown-cafe-creme:active, + input[type=button].fr-tag--brown-cafe-creme:active { + background-color: #ccb078; + } + + a[href].fr-tag--brown-caramel, + button.fr-tag--brown-caramel, + input[type=button].fr-tag--brown-caramel { + color: #845d48; + background-color: #f3e2d9; + } + + a[href].fr-tag--brown-caramel:hover, + button.fr-tag--brown-caramel:hover, + input[type=button].fr-tag--brown-caramel:hover { + background-color: #e7bea6; + } + + a[href].fr-tag--brown-caramel:active, + button.fr-tag--brown-caramel:active, + input[type=button].fr-tag--brown-caramel:active { + background-color: #e1a982; + } + + a[href].fr-tag--brown-opera, + button.fr-tag--brown-opera, + input[type=button].fr-tag--brown-opera { + color: #745b47; + background-color: #f3e2d7; + } + + a[href].fr-tag--brown-opera:hover, + button.fr-tag--brown-opera:hover, + input[type=button].fr-tag--brown-opera:hover { + background-color: #e7bfa0; + } + + a[href].fr-tag--brown-opera:active, + button.fr-tag--brown-opera:active, + input[type=button].fr-tag--brown-opera:active { + background-color: #deaa7e; + } + + a[href].fr-tag--beige-gris-galet, + button.fr-tag--beige-gris-galet, + input[type=button].fr-tag--beige-gris-galet { + color: #6a6156; + background-color: #eee4d9; + } + + a[href].fr-tag--beige-gris-galet:hover, + button.fr-tag--beige-gris-galet:hover, + input[type=button].fr-tag--beige-gris-galet:hover { + background-color: #dbc3a4; + } + + a[href].fr-tag--beige-gris-galet:active, + button.fr-tag--beige-gris-galet:active, + input[type=button].fr-tag--beige-gris-galet:active { + background-color: #c6b094; + } + + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + color: #f5f5fe; + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):hover, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):active, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]::after, + input[type=button].fr-tag[aria-pressed=true]::after { + color: #000091; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem); + } + + button.fr-tag[aria-pressed=true]:disabled::after, + input[type=button].fr-tag[aria-pressed=true]:disabled::after { + color: #929292; + } + + button.fr-tag[aria-pressed=true].fr-tag--sm, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:hover, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:active, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:disabled, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } + + button.fr-tag:disabled, + input[type=button].fr-tag:disabled { + color: #929292; + background-color: #e5e5e5; + } + + a:not([href]).fr-tag { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true], + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + background-color: transparent; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-color: transparent; + } +} diff --git a/design_system_admin/dsfr/component/tag/tag.print.css.map b/design_system_admin/dsfr/component/tag/tag.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..29337f2cc141375e2652a57208f24d88b481d9ef --- /dev/null +++ b/design_system_admin/dsfr/component/tag/tag.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tag/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20NmTSID%3E","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,cAAA;IAAA,sBAAA;ECrCF;;ECoBA;IFiBE,cAAA;IAAA,yBAAA;ECjCF;;EENE;IHuFA,yBAAA;EC9EF;;EETE;IHuFA,yBAAA;EC3EF;;EFIE;ICuBA,cAAA;IAAA,yBAAA;ECvBF;;EEhBE;IHuFA,yBAAA;ECpEF;;EEnBE;IHuFA,yBAAA;ECjEF;;EFGE;;;ICcA,cAAA;IAAA,yBAAA;ECXF;;EE5BE;;;IHuFA,yBAAA;ECtDF;;EEjCE;;;IHuFA,yBAAA;ECjDF;;EG9BI;;;IJ+BF,cAAA;IAAA,yBAAA;ECKF;;EE5CE;;;IHuFA,yBAAA;ECtCF;;EEjDE;;;IHuFA,yBAAA;ECjCF;;EG9CI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqBF;;EE5DE;;;IHuFA,yBAAA;ECtBF;;EEjEE;;;IHuFA,yBAAA;ECjBF;;EG9DI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqCF;;EE5EE;;;IHuFA,yBAAA;ECNF;;EEjFE;;;IHuFA,yBAAA;ECDF;;EG9EI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqDF;;EE5FE;;;IHuFA,yBAAA;ECUF;;EEjGE;;;IHuFA,yBAAA;ECeF;;EG9FI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqEF;;EE5GE;;;IHuFA,yBAAA;EC0BF;;EEjHE;;;IHuFA,yBAAA;EC+BF;;EG9GI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqFF;;EE5HE;;;IHuFA,yBAAA;EC0CF;;EEjIE;;;IHuFA,yBAAA;EC+CF;;EG9HI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqGF;;EE5IE;;;IHuFA,yBAAA;EC0DF;;EEjJE;;;IHuFA,yBAAA;EC+DF;;EG9II;;;IJ+BF,cAAA;IAAA,yBAAA;ECqHF;;EE5JE;;;IHuFA,yBAAA;EC0EF;;EEjKE;;;IHuFA,yBAAA;EC+EF;;EG9JI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqIF;;EE5KE;;;IHuFA,yBAAA;EC0FF;;EEjLE;;;IHuFA,yBAAA;EC+FF;;EG9KI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqJF;;EE5LE;;;IHuFA,yBAAA;EC0GF;;EEjME;;;IHuFA,yBAAA;EC+GF;;EG9LI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqKF;;EE5ME;;;IHuFA,yBAAA;EC0HF;;EEjNE;;;IHuFA,yBAAA;EC+HF;;EG9MI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqLF;;EE5NE;;;IHuFA,yBAAA;EC0IF;;EEjOE;;;IHuFA,yBAAA;EC+IF;;EG9NI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqMF;;EE5OE;;;IHuFA,yBAAA;EC0JF;;EEjPE;;;IHuFA,yBAAA;EC+JF;;EG9OI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqNF;;EE5PE;;;IHuFA,yBAAA;EC0KF;;EEjQE;;;IHuFA,yBAAA;EC+KF;;EG9PI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqOF;;EE5QE;;;IHuFA,yBAAA;EC0LF;;EEjRE;;;IHuFA,yBAAA;EC+LF;;EG9QI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqPF;;EE5RE;;;IHuFA,yBAAA;EC0MF;;EEjSE;;;IHuFA,yBAAA;EC+MF;;EG9RI;;;IJ+BF,cAAA;IAAA,yBAAA;ECqQF;;EE5SE;;;IHuFA,yBAAA;EC0NF;;EEjTE;;;IHuFA,yBAAA;EC+NF;;EF9QM;;ICDJ,cAAA;IAAA,oGAAA;ECoRF;;EE3TE;;IHuFA,oGAAA;ECgPF;;EEvUE;;IHuFA,oGAAA;ECsPF;;EI/TA;;ILyBE,cAAA;EC4SF;;EKlUS;;INsBP,oGAAA;ECkTF;;EI3UA;;ILyBE,cAAA;EC8TF;;EF3SM;;ICnBJ,kGAAA;ECoUF;;EE3WE;;IHuFA,kGAAA;ECwRF;;EE/WE;;IHuFA,kGAAA;EC4RF;;EKlWS;;INsBP,kGAAA;ECgVF;;EKtWS;;INsBP,cAAA;IAAA,yBAAA;ECuVF;;EFtTE;ICjCA,cAAA;IAAA,yBAAA;EC6VF;;EC9WA;;IFiBE,kGAAA;ECmWF;;EE1YE;;IHuFA,kGAAA;ECuTF;;EE9YE;;IHuFA,kGAAA;EC2TF;;EKjYS;;INsBP,kGAAA;EC+WF;AA1FF;AMrTI;ERiCI;;IC8EF,6BAAA;EC2MJ;;EKhTS;;INqGL,6BAAA;ECyOJ;AA7BF","file":"tag.print.css","sourcesContent":[null,"////\n/// Tag Print\n/// @group tag\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tag-scheme('print');\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tag/tag.print.min.css b/design_system_admin/dsfr/component/tag/tag.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0a65c8a1648333fa96e3bc16f0dc3649b7bd04a9 --- /dev/null +++ b/design_system_admin/dsfr/component/tag/tag.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-tag{background-color:#eee;color:#161616}.fr-tag[aria-pressed=false]{background-color:#e3e3fd;color:#000091}.fr-tag[aria-pressed=false]:hover{background-color:#c1c1fb}.fr-tag[aria-pressed=false]:active{background-color:#adadf9}.fr-tag.fr-tag--dismiss{background-color:#000091;color:#f5f5fe}.fr-tag.fr-tag--dismiss:hover{background-color:#1212ff}.fr-tag.fr-tag--dismiss:active{background-color:#2323ff}a[href].fr-tag,button.fr-tag,input[type=button].fr-tag{background-color:#e3e3fd;color:#000091}a[href].fr-tag:hover,button.fr-tag:hover,input[type=button].fr-tag:hover{background-color:#c1c1fb}a[href].fr-tag:active,button.fr-tag:active,input[type=button].fr-tag:active{background-color:#adadf9}a[href].fr-tag--green-tilleul-verveine,button.fr-tag--green-tilleul-verveine,input[type=button].fr-tag--green-tilleul-verveine{background-color:#fbe769;color:#66673d}a[href].fr-tag--green-tilleul-verveine:hover,button.fr-tag--green-tilleul-verveine:hover,input[type=button].fr-tag--green-tilleul-verveine:hover{background-color:#d7c655}a[href].fr-tag--green-tilleul-verveine:active,button.fr-tag--green-tilleul-verveine:active,input[type=button].fr-tag--green-tilleul-verveine:active{background-color:#c2b24c}a[href].fr-tag--green-bourgeon,button.fr-tag--green-bourgeon,input[type=button].fr-tag--green-bourgeon{background-color:#a9fb68;color:#447049}a[href].fr-tag--green-bourgeon:hover,button.fr-tag--green-bourgeon:hover,input[type=button].fr-tag--green-bourgeon:hover{background-color:#8ed654}a[href].fr-tag--green-bourgeon:active,button.fr-tag--green-bourgeon:active,input[type=button].fr-tag--green-bourgeon:active{background-color:#7fc04b}a[href].fr-tag--green-emeraude,button.fr-tag--green-emeraude,input[type=button].fr-tag--green-emeraude{background-color:#9ef9be;color:#297254}a[href].fr-tag--green-emeraude:hover,button.fr-tag--green-emeraude:hover,input[type=button].fr-tag--green-emeraude:hover{background-color:#69df97}a[href].fr-tag--green-emeraude:active,button.fr-tag--green-emeraude:active,input[type=button].fr-tag--green-emeraude:active{background-color:#5ec988}a[href].fr-tag--green-menthe,button.fr-tag--green-menthe,input[type=button].fr-tag--green-menthe{background-color:#8bf8e7;color:#37635f}a[href].fr-tag--green-menthe:hover,button.fr-tag--green-menthe:hover,input[type=button].fr-tag--green-menthe:hover{background-color:#6ed5c5}a[href].fr-tag--green-menthe:active,button.fr-tag--green-menthe:active,input[type=button].fr-tag--green-menthe:active{background-color:#62bfb1}a[href].fr-tag--green-archipel,button.fr-tag--green-archipel,input[type=button].fr-tag--green-archipel{background-color:#a6f2fa;color:#006a6f}a[href].fr-tag--green-archipel:hover,button.fr-tag--green-archipel:hover,input[type=button].fr-tag--green-archipel:hover{background-color:#62dbe5}a[href].fr-tag--green-archipel:active,button.fr-tag--green-archipel:active,input[type=button].fr-tag--green-archipel:active{background-color:#58c5cf}a[href].fr-tag--blue-ecume,button.fr-tag--blue-ecume,input[type=button].fr-tag--blue-ecume{background-color:#dee5fd;color:#2f4077}a[href].fr-tag--blue-ecume:hover,button.fr-tag--blue-ecume:hover,input[type=button].fr-tag--blue-ecume:hover{background-color:#b4c5fb}a[href].fr-tag--blue-ecume:active,button.fr-tag--blue-ecume:active,input[type=button].fr-tag--blue-ecume:active{background-color:#99b3f9}a[href].fr-tag--blue-cumulus,button.fr-tag--blue-cumulus,input[type=button].fr-tag--blue-cumulus{background-color:#dae6fd;color:#3558a2}a[href].fr-tag--blue-cumulus:hover,button.fr-tag--blue-cumulus:hover,input[type=button].fr-tag--blue-cumulus:hover{background-color:#a9c8fb}a[href].fr-tag--blue-cumulus:active,button.fr-tag--blue-cumulus:active,input[type=button].fr-tag--blue-cumulus:active{background-color:#8ab8f9}a[href].fr-tag--purple-glycine,button.fr-tag--purple-glycine,input[type=button].fr-tag--purple-glycine{background-color:#fddbfa;color:#6e445a}a[href].fr-tag--purple-glycine:hover,button.fr-tag--purple-glycine:hover,input[type=button].fr-tag--purple-glycine:hover{background-color:#fbaff5}a[href].fr-tag--purple-glycine:active,button.fr-tag--purple-glycine:active,input[type=button].fr-tag--purple-glycine:active{background-color:#fa96f2}a[href].fr-tag--pink-macaron,button.fr-tag--pink-macaron,input[type=button].fr-tag--pink-macaron{background-color:#fddfda;color:#8d533e}a[href].fr-tag--pink-macaron:hover,button.fr-tag--pink-macaron:hover,input[type=button].fr-tag--pink-macaron:hover{background-color:#fbb8ab}a[href].fr-tag--pink-macaron:active,button.fr-tag--pink-macaron:active,input[type=button].fr-tag--pink-macaron:active{background-color:#faa18d}a[href].fr-tag--pink-tuile,button.fr-tag--pink-tuile,input[type=button].fr-tag--pink-tuile{background-color:#fddfdb;color:#a94645}a[href].fr-tag--pink-tuile:hover,button.fr-tag--pink-tuile:hover,input[type=button].fr-tag--pink-tuile:hover{background-color:#fbb8ad}a[href].fr-tag--pink-tuile:active,button.fr-tag--pink-tuile:active,input[type=button].fr-tag--pink-tuile:active{background-color:#faa191}a[href].fr-tag--yellow-tournesol,button.fr-tag--yellow-tournesol,input[type=button].fr-tag--yellow-tournesol{background-color:#fde39c;color:#716043}a[href].fr-tag--yellow-tournesol:hover,button.fr-tag--yellow-tournesol:hover,input[type=button].fr-tag--yellow-tournesol:hover{background-color:#e9c53b}a[href].fr-tag--yellow-tournesol:active,button.fr-tag--yellow-tournesol:active,input[type=button].fr-tag--yellow-tournesol:active{background-color:#d3b235}a[href].fr-tag--yellow-moutarde,button.fr-tag--yellow-moutarde,input[type=button].fr-tag--yellow-moutarde{background-color:#fde2b5;color:#695240}a[href].fr-tag--yellow-moutarde:hover,button.fr-tag--yellow-moutarde:hover,input[type=button].fr-tag--yellow-moutarde:hover{background-color:#f6c43c}a[href].fr-tag--yellow-moutarde:active,button.fr-tag--yellow-moutarde:active,input[type=button].fr-tag--yellow-moutarde:active{background-color:#dfb135}a[href].fr-tag--orange-terre-battue,button.fr-tag--orange-terre-battue,input[type=button].fr-tag--orange-terre-battue{background-color:#fddfd8;color:#755348}a[href].fr-tag--orange-terre-battue:hover,button.fr-tag--orange-terre-battue:hover,input[type=button].fr-tag--orange-terre-battue:hover{background-color:#fbb8a5}a[href].fr-tag--orange-terre-battue:active,button.fr-tag--orange-terre-battue:active,input[type=button].fr-tag--orange-terre-battue:active{background-color:#faa184}a[href].fr-tag--brown-cafe-creme,button.fr-tag--brown-cafe-creme,input[type=button].fr-tag--brown-cafe-creme{background-color:#f4e3c7;color:#685c48}a[href].fr-tag--brown-cafe-creme:hover,button.fr-tag--brown-cafe-creme:hover,input[type=button].fr-tag--brown-cafe-creme:hover{background-color:#e1c386}a[href].fr-tag--brown-cafe-creme:active,button.fr-tag--brown-cafe-creme:active,input[type=button].fr-tag--brown-cafe-creme:active{background-color:#ccb078}a[href].fr-tag--brown-caramel,button.fr-tag--brown-caramel,input[type=button].fr-tag--brown-caramel{background-color:#f3e2d9;color:#845d48}a[href].fr-tag--brown-caramel:hover,button.fr-tag--brown-caramel:hover,input[type=button].fr-tag--brown-caramel:hover{background-color:#e7bea6}a[href].fr-tag--brown-caramel:active,button.fr-tag--brown-caramel:active,input[type=button].fr-tag--brown-caramel:active{background-color:#e1a982}a[href].fr-tag--brown-opera,button.fr-tag--brown-opera,input[type=button].fr-tag--brown-opera{background-color:#f3e2d7;color:#745b47}a[href].fr-tag--brown-opera:hover,button.fr-tag--brown-opera:hover,input[type=button].fr-tag--brown-opera:hover{background-color:#e7bfa0}a[href].fr-tag--brown-opera:active,button.fr-tag--brown-opera:active,input[type=button].fr-tag--brown-opera:active{background-color:#deaa7e}a[href].fr-tag--beige-gris-galet,button.fr-tag--beige-gris-galet,input[type=button].fr-tag--beige-gris-galet{background-color:#eee4d9;color:#6a6156}a[href].fr-tag--beige-gris-galet:hover,button.fr-tag--beige-gris-galet:hover,input[type=button].fr-tag--beige-gris-galet:hover{background-color:#dbc3a4}a[href].fr-tag--beige-gris-galet:active,button.fr-tag--beige-gris-galet:active,input[type=button].fr-tag--beige-gris-galet:active{background-color:#c6b094}button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#000091 .625rem);color:#f5f5fe}button.fr-tag[aria-pressed=true]:not(:disabled):hover,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#1212ff .625rem)}button.fr-tag[aria-pressed=true]:not(:disabled):active,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#2323ff .625rem)}button.fr-tag[aria-pressed=true]:after,input[type=button].fr-tag[aria-pressed=true]:after{color:#000091}button.fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#e5e5e5 .625rem)}button.fr-tag[aria-pressed=true]:disabled:after,input[type=button].fr-tag[aria-pressed=true]:disabled:after{color:#929292}button.fr-tag[aria-pressed=true].fr-tag--sm,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:hover,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:active,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}a:not([href]).fr-tag,button.fr-tag:disabled,input[type=button].fr-tag:disabled{background-color:#e5e5e5;color:#929292}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){button.fr-tag[aria-pressed=true]:disabled,button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-color:transparent}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tag/tag.print.min.css.map b/design_system_admin/dsfr/component/tag/tag.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..aaa5903ec1b0651d13b1f9a22970324374c4441c --- /dev/null +++ b/design_system_admin/dsfr/component/tag/tag.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tag/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20FHK2W9%3E","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,QCgCE,qBAAA,CAAA,aCrCF,CCoBA,4BFiBE,wBAAA,CAAA,aCjCF,CENE,kCHuFA,wBC9EF,CETE,mCHuFA,wBC3EF,CFIE,wBCuBA,wBAAA,CAAA,aCvBF,CEhBE,8BHuFA,wBCpEF,CEnBE,+BHuFA,wBCjEF,CFGE,uDCcA,wBAAA,CAAA,aCXF,CE5BE,yEHuFA,wBCtDF,CEjCE,4EHuFA,wBCjDF,CG9BI,+HJ+BF,wBAAA,CAAA,aCKF,CE5CE,iJHuFA,wBCtCF,CEjDE,oJHuFA,wBCjCF,CG9CI,uGJ+BF,wBAAA,CAAA,aCqBF,CE5DE,yHHuFA,wBCtBF,CEjEE,4HHuFA,wBCjBF,CG9DI,uGJ+BF,wBAAA,CAAA,aCqCF,CE5EE,yHHuFA,wBCNF,CEjFE,4HHuFA,wBCDF,CG9EI,iGJ+BF,wBAAA,CAAA,aCqDF,CE5FE,mHHuFA,wBCUF,CEjGE,sHHuFA,wBCeF,CG9FI,uGJ+BF,wBAAA,CAAA,aCqEF,CE5GE,yHHuFA,wBC0BF,CEjHE,4HHuFA,wBC+BF,CG9GI,2FJ+BF,wBAAA,CAAA,aCqFF,CE5HE,6GHuFA,wBC0CF,CEjIE,gHHuFA,wBC+CF,CG9HI,iGJ+BF,wBAAA,CAAA,aCqGF,CE5IE,mHHuFA,wBC0DF,CEjJE,sHHuFA,wBC+DF,CG9II,uGJ+BF,wBAAA,CAAA,aCqHF,CE5JE,yHHuFA,wBC0EF,CEjKE,4HHuFA,wBC+EF,CG9JI,iGJ+BF,wBAAA,CAAA,aCqIF,CE5KE,mHHuFA,wBC0FF,CEjLE,sHHuFA,wBC+FF,CG9KI,2FJ+BF,wBAAA,CAAA,aCqJF,CE5LE,6GHuFA,wBC0GF,CEjME,gHHuFA,wBC+GF,CG9LI,6GJ+BF,wBAAA,CAAA,aCqKF,CE5ME,+HHuFA,wBC0HF,CEjNE,kIHuFA,wBC+HF,CG9MI,0GJ+BF,wBAAA,CAAA,aCqLF,CE5NE,4HHuFA,wBC0IF,CEjOE,+HHuFA,wBC+IF,CG9NI,sHJ+BF,wBAAA,CAAA,aCqMF,CE5OE,wIHuFA,wBC0JF,CEjPE,2IHuFA,wBC+JF,CG9OI,6GJ+BF,wBAAA,CAAA,aCqNF,CE5PE,+HHuFA,wBC0KF,CEjQE,kIHuFA,wBC+KF,CG9PI,oGJ+BF,wBAAA,CAAA,aCqOF,CE5QE,sHHuFA,wBC0LF,CEjRE,yHHuFA,wBC+LF,CG9QI,8FJ+BF,wBAAA,CAAA,aCqPF,CE5RE,gHHuFA,wBC0MF,CEjSE,mHHuFA,wBC+MF,CG9RI,6GJ+BF,wBAAA,CAAA,aCqQF,CE5SE,+HHuFA,wBC0NF,CEjTE,kIHuFA,wBC+NF,CF9QM,4GCDJ,8FAAA,CAAA,aCoRF,CE3TE,wHHuFA,8FCgPF,CEvUE,0HHuFA,8FCsPF,CI/TA,0FLyBE,aC4SF,CKlUS,gGNsBP,8FCkTF,CI3UA,4GLyBE,aC8TF,CF3SM,oGCnBJ,4FCoUF,CE3WE,gHHuFA,4FCwRF,CE/WE,kHHuFA,4FC4RF,CKlWS,sHNsBP,4FCgVF,CF/SE,+ECjCA,wBAAA,CAAA,aC6VF,CC9WA,gJFiBE,4FCmWF,CE1YE,4JHuFA,4FCuTF,CE9YE,8JHuFA,4FC2TF,CKjYS,kKNsBP,4FC+WF,CA1FF,CMrTI,+EDUO,4MNqGL,4BCyOJ,CA7BF","file":"tag.print.min.css","sourcesContent":[null,"////\n/// Tag Print\n/// @group tag\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tag-scheme('print');\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tile/tile.print.css b/design_system_admin/dsfr/component/tile/tile.print.css new file mode 100644 index 0000000000000000000000000000000000000000..2fa822adef1a4f9799f27081053c895cac9bbe1e --- /dev/null +++ b/design_system_admin/dsfr/component/tile/tile.print.css @@ -0,0 +1,83 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-tile { + background-color: #fff; + } + + .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-tile--grey { + background-color: #eee; + } + + .fr-tile--shadow { + background-color: #fff; + } + + .fr-tile--shadow.fr-tile--grey { + background-color: #eee; + } + + .fr-tile__title { + color: #161616; + } + + .fr-tile__title:disabled, + a.fr-tile__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tile__title::before { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-tile__title a { + color: #000091; + } + + .fr-tile__title a::before { + background-image: linear-gradient(0deg, #000091, #000091); + } + + .fr-tile__title a:not([href]) { + color: #929292; + } + + .fr-tile__title a:not([href])::before { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5); + } + + .fr-tile .fr-tile__desc, + .fr-tile .fr-tile__detail, + .fr-tile__desc, + .fr-tile__detail, + .fr-tile--sm .fr-tile__desc, + .fr-tile--sm .fr-tile__detail, + .fr-tile--sm__desc, + .fr-tile--sm__detail { + font-size: 1rem; + line-height: 1.5rem; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-tile--shadow { + z-index: 500; + } + + .fr-tile--no-background { + background-color: transparent; + } + + .fr-tile--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-tile--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } +} diff --git a/design_system_admin/dsfr/component/tile/tile.print.css.map b/design_system_admin/dsfr/component/tile/tile.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..1aeed2a71b21ca686c45237c1517954fd02d8eb6 --- /dev/null +++ b/design_system_admin/dsfr/component/tile/tile.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tile/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%205QWxYI%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKE;IC+BE,sBAAA;ECtCF;;EFUE;IC4BA,4JAAA;ECnCF;;EFWE;ICwBA,sBAAA;EChCF;;EFYE;ICoBA,sBAAA;EC7BF;;EFaE;ICgBA,sBAAA;ECnBF;;EFWE;ICQA,cAAA;ECHF;;ECnBS;;IFsBP,cAAA;IAAA,yBAAA;ECCF;;EE1BA;IHyBE,yDAAA;ECIF;;EFJI;ICAF,cAAA;ECOF;;EEhCA;IHyBE,yDAAA;ECUF;;EFHM;ICPJ,cAAA;ECaF;;EEtCA;IHyBE,yDAAA;ECgBF;;EGtDA;;;;;;;;ICuBA,eAAA;IAGE,mBAAA;EJuCF;AAvDF;AKJI;EPYA;IQZI,YAAA;ENQN;;EFYE;IC2FE,6BAAA;EC7FJ;;EDgGM;IACE,qCAAA;EC9FR;;EDiGM;IACE,oCAAA;EC/FR;AAfF","file":"tile.print.css","sourcesContent":[null,"////\n/// Tile Print\n/// @group tile\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tile-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tile/tile.print.min.css b/design_system_admin/dsfr/component/tile/tile.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..3ebd4faef6cb4105d3ce65e2c1e68b3ec33204f2 --- /dev/null +++ b/design_system_admin/dsfr/component/tile/tile.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-tile{background-color:#fff}.fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-tile--grey{background-color:#eee}.fr-tile--shadow{background-color:#fff}.fr-tile--shadow.fr-tile--grey{background-color:#eee}.fr-tile__title{color:#161616}.fr-tile__title:disabled,a.fr-tile__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-tile__title:before{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-tile__title a{color:#000091}.fr-tile__title a:before{background-image:linear-gradient(0deg,#000091,#000091)}.fr-tile__title a:not([href]){color:#929292}.fr-tile__title a:not([href]):before{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5)}.fr-tile .fr-tile__desc,.fr-tile .fr-tile__detail,.fr-tile--sm .fr-tile__desc,.fr-tile--sm .fr-tile__detail,.fr-tile--sm__desc,.fr-tile--sm__detail,.fr-tile__desc,.fr-tile__detail{font-size:1rem;line-height:1.5rem}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-tile--shadow{z-index:500}.fr-tile--no-background{background-color:transparent}.fr-tile--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-tile--no-background:active{background-color:rgba(0,0,0,.1)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tile/tile.print.min.css.map b/design_system_admin/dsfr/component/tile/tile.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..f8f03de10a7e629356e88e66fe7b072ae347a86f --- /dev/null +++ b/design_system_admin/dsfr/component/tile/tile.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tile/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20lHqePM%3E","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKE,SC+BE,qBCtCF,CFUE,wDC4BA,gJCnCF,CFWE,eCwBA,qBChCF,CFYE,iBCoBA,qBC7BF,CFaE,+BCgBA,qBCnBF,CFWE,gBCQA,aCHF,CCnBS,sDFsBP,wBAAA,CAAA,aCCF,CE1BA,uBHyBE,sDCIF,CFJI,kBCAF,aCOF,CEhCA,yBHyBE,sDCUF,CFHM,8BCPJ,aCaF,CEtCA,qCHyBE,sDCgBF,CGtDA,oLCuBA,cAAA,CAGE,kBJuCF,CAvDF,CKJI,+EPYA,iBQZI,WNQN,CFYE,wBC2FE,4BC7FJ,CDgGM,8BACE,gCC9FR,CDiGM,+BACE,+BC/FR,CAfF","file":"tile.print.min.css","sourcesContent":[null,"////\n/// Tile Print\n/// @group tile\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tile-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/toggle/toggle.print.css b/design_system_admin/dsfr/component/toggle/toggle.print.css new file mode 100644 index 0000000000000000000000000000000000000000..de4ed2a7e65524d73f29161deac260f892b66a6d --- /dev/null +++ b/design_system_admin/dsfr/component/toggle/toggle.print.css @@ -0,0 +1,132 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-toggle label { + color: #161616; + } + + .fr-toggle label::before { + color: #000091; + content: ""; + display: block; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle label::after { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + background-color: #fff; + } + + .fr-toggle input[type=checkbox] { + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-toggle input[type=checkbox]:checked { + background-color: #000091; + } + + .fr-toggle input[type=checkbox]:disabled { + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled:checked { + background-color: #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + color: #929292; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle .fr-hint-text { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle--border-bottom { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-toggle--error label, + .fr-fieldset--error .fr-toggle label { + color: #ce0500; + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + color: #ce0500; + } + + .fr-toggle--error label::after, + .fr-fieldset--error .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #ce0500; + } + + .fr-toggle--valid label, + .fr-fieldset--valid .fr-toggle label { + color: #18753c; + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + color: #18753c; + } + + .fr-toggle--valid label::after, + .fr-fieldset--valid .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #18753c; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } +} diff --git a/design_system_admin/dsfr/component/toggle/toggle.print.css.map b/design_system_admin/dsfr/component/toggle/toggle.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..e972afbf5781e8852ce4983fb04bdf731d7d4e33 --- /dev/null +++ b/design_system_admin/dsfr/component/toggle/toggle.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/toggle/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%2070-U10%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKI;IC+BA,cAAA;ECtCF;;ECaA;IFyBE,cAAA;IEtBE,WCjBc;IDqBd,cAAA;IEGJ,eAAA;IAGE,mBAAA;EHvBF;;ECUA;IFyBE,cAAA;IAAA,mCAAA;IAAA,sBAAA;ECvBF;;EFOE;ICgBA,mCAAA;EClBF;;EFKI;ICaF,yBAAA;ECfF;;EIPS;ILsBP,mCAAA;ECAF;;EFEM;ICFJ,yBAAA;ECGF;;EC5BA;IFyBE,cAAA;ECkBF;;EC3CA;IFyBE,cAAA;IAAA,mCAAA;EC6BF;;EFAE;IC7BA,WAAA;IIfF,eAAA;IAGE,mBAAA;EH8CF;;EFDE;ICjCA,iCAAA;ECuCF;;EFCE;;ICxCA,cAAA;EC6CF;;ECtEA;;IFyBE,cAAA;ECiDF;;EC1EA;;IFyBE,mCAAA;EC6DF;;EFKE;;IClEA,cAAA;ECyEF;;EClGA;;IFyBE,cAAA;EC6EF;;ECtGA;;IFyBE,mCAAA;ECyFF;AA3HF;AKEI;EJOF;IKcM,8PAAA;ENnBN;;ECKA;IKcM,4PAAA;ENCN;;ECfA;IKcM,0NAAA;ENMN;;ECpBA;IKcM,4PAAA;ENmBN;;ECjCA;IKcM,0NAAA;ENwBN;;ECtCA;IKcM,8PAAA;ENkCN;;EChDA;;IKcM,8PAAA;ENkEN;;EChFA;;IKcM,4PAAA;EN8EN;;EC5FA;;IKcM,8PAAA;EN8FN;;EC5GA;;IKcM,4PAAA;EN0GN;AA5HF","file":"toggle.print.css","sourcesContent":[null,"////\n/// Toggle Print\n/// @group toggle\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _toggle-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/toggle/toggle.print.min.css b/design_system_admin/dsfr/component/toggle/toggle.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..d6b0cbba83cb4b1de9cff02aad95189e5a254b0d --- /dev/null +++ b/design_system_admin/dsfr/component/toggle/toggle.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-toggle label{color:#161616}.fr-toggle label:before{color:#000091;content:"";display:block;font-size:1rem;line-height:1.5rem}.fr-toggle label:after{background-color:#fff;color:#000091}.fr-toggle input[type=checkbox],.fr-toggle label:after{box-shadow:inset 0 0 0 1px #000091}.fr-toggle input[type=checkbox]:checked{background-color:#000091}.fr-toggle input[type=checkbox]:disabled{box-shadow:inset 0 0 0 1px #e5e5e5}.fr-toggle input[type=checkbox]:disabled:checked{background-color:#e5e5e5}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{color:#929292}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:after{box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-toggle .fr-hint-text{color:#666;font-size:1rem;line-height:1.5rem}.fr-toggle--border-bottom{box-shadow:inset 0 -1px 0 0 #ddd}.fr-fieldset--error .fr-toggle label,.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label,.fr-toggle--error label:before{color:#ce0500}.fr-fieldset--error .fr-toggle label:after,.fr-toggle--error label:after{box-shadow:inset 0 0 0 1px #ce0500}.fr-fieldset--valid .fr-toggle label,.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label,.fr-toggle--valid label:before{color:#18753c}.fr-fieldset--valid .fr-toggle label:after,.fr-toggle--valid label:after{box-shadow:inset 0 0 0 1px #18753c}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-toggle label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--error input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--valid input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/toggle/toggle.print.min.css.map b/design_system_admin/dsfr/component/toggle/toggle.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8a73f9de884ab2c6efe9be5956c22c07b109ed52 --- /dev/null +++ b/design_system_admin/dsfr/component/toggle/toggle.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/toggle/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%206mEV3m%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKI,iBC+BA,aCtCF,CCaA,wBFyBE,aAAA,CEtBE,UCjBc,CDqBd,aAAA,CEGJ,cAAA,CAGE,kBHvBF,CCUA,uBFyBE,qBAAA,CAAA,aCvBF,CFOE,uDCgBA,kCClBF,CFKI,wCCaF,wBCfF,CIPS,yCLsBP,kCCAF,CFEM,iDCFJ,wBCGF,CC5BA,kEFyBE,aCkBF,CC3CA,iEFyBE,kCAAA,CAAA,aC6BF,CFAE,yBC7BA,UAAA,CIfF,cAAA,CAGE,kBH8CF,CFDE,0BCjCA,gCCuCF,CChEA,wIFyBE,aCiDF,CC1EA,yEFyBE,kCC6DF,CCtFA,wIFyBE,aC6EF,CCtGA,yEFyBE,kCCyFF,CA3HF,CKEI,+EJOF,wBKcM,sONnBN,CCKA,iEKcM,oONCN,CCfA,gEKcM,yNNMN,CCpBA,0EKcM,oONmBN,CCjCA,yEKcM,yNNwBN,CCtCA,kEKcM,sONkCN,CChDA,2EKcM,sONkEN,CChFA,6JKcM,oON8EN,CC5FA,2EKcM,sON8FN,CC5GA,6JKcM,oON0GN,CA5HF","file":"toggle.print.min.css","sourcesContent":[null,"////\n/// Toggle Print\n/// @group toggle\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _toggle-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tooltip/tooltip.print.css b/design_system_admin/dsfr/component/tooltip/tooltip.print.css new file mode 100644 index 0000000000000000000000000000000000000000..b87a529041097f2f793a03dab9c7c5708a4ee421 --- /dev/null +++ b/design_system_admin/dsfr/component/tooltip/tooltip.print.css @@ -0,0 +1,22 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-tooltip { + color: #3a3a3a; + display: none; + } + + .fr-tooltip.fr-placement--top { + background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } + + .fr-tooltip.fr-placement--bottom { + background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-tooltip.fr-placement { + z-index: 1000; + } +} diff --git a/design_system_admin/dsfr/component/tooltip/tooltip.print.css.map b/design_system_admin/dsfr/component/tooltip/tooltip.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..dd8330d6d4a338e10caf3f9b107f7138de6d3d3b --- /dev/null +++ b/design_system_admin/dsfr/component/tooltip/tooltip.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","%3Cinput%20css%20aJpO_D%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECIE;ICgCE,cAAA;ICxCF,aAAA;ECEA;;EHYI;IC0BF,oTAAA;EE5BF;;EHMI;ICsBF,gTAAA;EEvBF;AAdF;ACKI;EJGA;IKHI,aAAA;EFDN;AACF","file":"tooltip.print.css","sourcesContent":[null,"////\n/// Tooltip Print\n/// @group tooltip\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tooltip-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css b/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..912a5389a9e0248646f8c3ba0a9a59c6b07ddcd5 --- /dev/null +++ b/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-tooltip{color:#3a3a3a;display:none}.fr-tooltip.fr-placement--top{background-image:conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}.fr-tooltip.fr-placement--bottom{background-image:conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-tooltip.fr-placement{z-index:1000}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css.map b/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..5edfa946aaf38442b30b6e4261a11b40db59d31c --- /dev/null +++ b/design_system_admin/dsfr/component/tooltip/tooltip.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","%3Cinput%20css%20CUoyYX%3E","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCIE,YCgCE,aAAA,CCxCF,YCEA,CHYI,8BC0BF,oSE5BF,CHMI,iCCsBF,8REvBF,CAdF,CCKI,+EJGA,yBKHI,YFDN,CACF","file":"tooltip.print.min.css","sourcesContent":[null,"////\n/// Tooltip Print\n/// @group tooltip\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _tooltip-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/transcription/transcription.print.css b/design_system_admin/dsfr/component/transcription/transcription.print.css new file mode 100644 index 0000000000000000000000000000000000000000..e9e4773f62e2b05d15f69b7900eddae1803c4269 --- /dev/null +++ b/design_system_admin/dsfr/component/transcription/transcription.print.css @@ -0,0 +1,32 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-transcription::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-transcription__btn { + color: #000091; + } + + .fr-transcription__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-transcription__content::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription__footer::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription .fr-modal:not(.fr-modal--opened)::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription { + display: none; + } +} diff --git a/design_system_admin/dsfr/component/transcription/transcription.print.css.map b/design_system_admin/dsfr/component/transcription/transcription.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..67fbd3afb91193fc82677a7b0ac102744e5ed358 --- /dev/null +++ b/design_system_admin/dsfr/component/transcription/transcription.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/transcription/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%201rbvVH%3E","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECWE;ICyBE,gCAAA;ECtCF;;ECUE;IF4BA,cAAA;ECnCF;;ECUI;IFyBF,yBAAA;EChCF;;EFOA;ICyBE,gCAAA;EC7BF;;EFIA;ICyBE,gCAAA;EC1BF;;EFCA;ICyBE,gCAAA;ECvBF;;EElBF;IACE,aAAA;EFoBA;AACF","file":"transcription.print.css","sourcesContent":[null,"////\n/// Transcription Print\n/// @group transcription\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _transcription-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/transcription/transcription.print.min.css b/design_system_admin/dsfr/component/transcription/transcription.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..20c38afa2114691bb13db27ff00d57d029807c9c --- /dev/null +++ b/design_system_admin/dsfr/component/transcription/transcription.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-transcription:before{box-shadow:inset 0 0 0 1px #ddd}.fr-transcription__btn{color:#000091}.fr-transcription__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-transcription .fr-modal:not(.fr-modal--opened):before,.fr-transcription__content:before,.fr-transcription__footer:before{box-shadow:inset 0 1px 0 0 #ddd}.fr-transcription{display:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/transcription/transcription.print.min.css.map b/design_system_admin/dsfr/component/transcription/transcription.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..b2a37b9a1d609ae7a70ef80ca4fe3ac9a706f1cd --- /dev/null +++ b/design_system_admin/dsfr/component/transcription/transcription.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/transcription/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20vKkdqT%3E","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCWE,yBCyBE,+BCtCF,CCUE,uBF4BA,aCnCF,CCUI,2CFyBF,wBChCF,CFOA,6HCyBE,+BCvBF,CElBF,kBACE,YFoBA,CACF","file":"transcription.print.min.css","sourcesContent":[null,"////\n/// Transcription Print\n/// @group transcription\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _transcription-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/translate/translate.print.css b/design_system_admin/dsfr/component/translate/translate.print.css new file mode 100644 index 0000000000000000000000000000000000000000..e0e4ad9dbc496ca617669702dca34c6d813fbf2e --- /dev/null +++ b/design_system_admin/dsfr/component/translate/translate.print.css @@ -0,0 +1,27 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-translate .fr-translate__btn[aria-expanded=true] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:hover { + background-color: var(--hover-tint); + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:active { + background-color: var(--active-tint); + } + + .fr-translate .fr-translate__btn { + font-size: 1rem; + line-height: 1.5rem; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-translate__menu .fr-translate__language { + box-shadow: none; + } +} diff --git a/design_system_admin/dsfr/component/translate/translate.print.css.map b/design_system_admin/dsfr/component/translate/translate.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..6c8164bccc314facd5dd03666255ce94e0efc1b2 --- /dev/null +++ b/design_system_admin/dsfr/component/translate/translate.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/translate/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20evAa_A%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECKM;IC+BF,cAAA;IAAA,yBAAA;ECrCF;;ECkCA;IACE,mCAAA;EDhCF;;ECmCA;IACE,oCAAA;EDjCF;;EETA;ICyBA,eAAA;IAGE,mBAAA;EHRF;AAVF;AIFI;ENSE;IC6PE,gBAAA;EChQN;AACF","file":"translate.print.css","sourcesContent":[null,"////\n/// Translate Print\n/// @group translate\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _translate-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/translate/translate.print.min.css b/design_system_admin/dsfr/component/translate/translate.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0143778c860fdc46c93061a65433cacb4e66f809 --- /dev/null +++ b/design_system_admin/dsfr/component/translate/translate.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-translate .fr-translate__btn[aria-expanded=true]{background-color:#e3e3fd;color:#000091}.fr-translate .fr-translate__btn[aria-expanded=true]:hover{background-color:var(--hover-tint)}.fr-translate .fr-translate__btn[aria-expanded=true]:active{background-color:var(--active-tint)}.fr-translate .fr-translate__btn{font-size:1rem;line-height:1.5rem}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-translate__menu .fr-translate__language{box-shadow:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/translate/translate.print.min.css.map b/design_system_admin/dsfr/component/translate/translate.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..3cb53b0fef12df446ab1428bb8af3ca60580a9b5 --- /dev/null +++ b/design_system_admin/dsfr/component/translate/translate.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/translate/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20tGDq1Y%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCKM,qDC+BF,wBAAA,CAAA,aCrCF,CCkCA,2DACE,kCDhCF,CCmCA,4DACE,mCDjCF,CETA,iCCyBA,cAAA,CAGE,kBHRF,CAVF,CIFI,+ENSE,4CC6PE,eChQN,CACF","file":"translate.print.min.css","sourcesContent":[null,"////\n/// Translate Print\n/// @group translate\n////\n\n@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _translate-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.main.css b/design_system_admin/dsfr/component/upload/upload.main.css new file mode 100644 index 0000000000000000000000000000000000000000..9b572a99a02b8c294fce471e6eb0fc89ecda105a --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.main.css @@ -0,0 +1,53 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; + +/* ¯¯¯¯¯¯¯¯¯ *\ + UPLOAD +\* ˍˍˍˍˍˍˍˍˍ */ +.fr-upload-group .fr-label .fr-hint-text { + margin-top: 0.75rem; +} + +.fr-upload-group .fr-label + .fr-upload { + margin-top: 1rem; +} + +.fr-upload-group .fr-message:first-child { + margin-top: 0.5rem; +} + +.fr-upload { + font-size: 0.875rem; + line-height: 1.5rem; + width: 100%; + display: inline-flex; + margin: 0; +} + +.fr-upload:disabled::-webkit-file-upload-button { + outline-style: none; + cursor: not-allowed; +} + +.fr-upload::-webkit-file-upload-button { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; + font: inherit; + cursor: pointer; + margin-right: 0.5rem; +} +@media (min-width: 36em) { + /*! media sm */ +} +@media (min-width: 48em) { + /*! media md */ +} +@media (min-width: 62em) { + /*! media lg */ +} +@media (min-width: 78em) { + /*! media xl */ +} diff --git a/design_system_admin/dsfr/component/upload/upload.main.css.map b/design_system_admin/dsfr/component/upload/upload.main.css.map new file mode 100644 index 0000000000000000000000000000000000000000..e2690f95c28c54547ebcacd1dede85e160ad861b --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%20jTmA08%3E","file:///Users/ket/Documents/work/dsfr/src/component/upload/main.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;;ACKhB;;cAAA;ACII;ECoBE,mBAXA;AHAN;;AELI;ECgBE,gBAXA;AHGN;;AEFI;ECUE,kBAXA;AHMN;;AECA;EECE,mBAAA;EAGE,mBAAA;ECnBE,WAAA;EHkBJ,oBAAA;ECKE,SAfE;AHcN;;AEAI;EACE,mBAAA;EACA,mBAAA;AFEN;;AEEE;EI9BA,0BJ+B4B;EI9B5B,uBJ8B4B;EI7B5B,kBJ6B4B;EAC1B,aAAA;EACA,eAAA;ECZE,oBAXA;AH0BN;AO7BI;ECRI,cAAA;ARDR;AOSI;ECRI,cAAA;ARER;AOMI;ECRI,cAAA;ARKR;AOGI;ECRI,cAAA;ARQR","file":"upload.main.css","sourcesContent":[null,"@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n UPLOAD\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-upload-group .fr-label .fr-hint-text {\n margin-top: 0.75rem;\n}\n.fr-upload-group .fr-label + .fr-upload {\n margin-top: 1rem;\n}\n.fr-upload-group .fr-message:first-child {\n margin-top: 0.5rem;\n}\n\n.fr-upload {\n font-size: 0.875rem;\n line-height: 1.5rem;\n width: 100%;\n display: inline-flex;\n margin: 0;\n}\n.fr-upload:disabled::-webkit-file-upload-button {\n outline-style: none;\n cursor: not-allowed;\n}\n.fr-upload::-webkit-file-upload-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n font: inherit;\n cursor: pointer;\n margin-right: 0.5rem;\n}","////\n/// Upload Main\n/// @group upload\n////\n\n/* ¯¯¯¯¯¯¯¯¯ *\\\n UPLOAD\n\\* ˍˍˍˍˍˍˍˍˍ */\n\n@use 'module/path';\n@use 'module/shame/media-query';\n\n@include path.to-dist(2);\n@include media-query.order;\n\n@import 'index';\n@import 'style/module';\n","////\n/// Upload Module\n/// @group upload\n////\n\n@use 'module/reset';\n\n#{ns-group(upload)} {\n #{ns(label)} {\n #{ns(hint-text)} {\n @include margin-top(3v);\n }\n\n + #{ns(upload)} {\n @include margin-top(4v);\n }\n }\n\n #{ns(message)} {\n &:first-child {\n @include margin-top(2v);\n }\n }\n}\n\n#{ns(upload)} {\n @include text-style(sm);\n @include width(100%);\n display: inline-flex;\n @include margin(0);\n\n &:disabled {\n &::-webkit-file-upload-button {\n outline-style: none;\n cursor: not-allowed;\n }\n }\n\n &::-webkit-file-upload-button {\n @include reset.appearance(button);\n font: inherit;\n cursor: pointer;\n @include margin-right(2v);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.main.min.css b/design_system_admin/dsfr/component/upload/upload.main.min.css new file mode 100644 index 0000000000000000000000000000000000000000..c26f8a1a00c4ee97a946fc7c42edbe4d1ca4440a --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.main.min.css @@ -0,0 +1,7 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */.fr-upload-group .fr-label .fr-hint-text{margin-top:.75rem}.fr-upload-group .fr-label+.fr-upload{margin-top:1rem}.fr-upload-group .fr-message:first-child{margin-top:.5rem}.fr-upload{display:inline-flex;font-size:.875rem;line-height:1.5rem;margin:0;width:100%}.fr-upload:disabled::-webkit-file-upload-button{cursor:not-allowed;outline-style:none}.fr-upload::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer;font:inherit;margin-right:.5rem}@media (min-width:36em){ + /*! media sm */}@media (min-width:48em){ + /*! media md */}@media (min-width:62em){ + /*! media lg */}@media (min-width:78em){ + /*! media xl */} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.main.min.css.map b/design_system_admin/dsfr/component/upload/upload.main.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..8a264bdfaa04214de9be937fbc6ddb864d9dea48 --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.main.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","%3Cinput%20css%20zGQk0v%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/module/reset/mixin/_appearance.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/shame/media-query/mixin/_order.scss"],"names":[],"mappings":"AAAA;;GAAA,ACSI,yCCoBE,iBCXN,CFLI,sCCgBE,eCRN,CFFI,yCCUE,gBCLN,CFCA,WAGE,mBAAA,CGFA,iBAAA,CAGE,kBAAA,CFIA,QAfE,CGRA,UFsBN,CFAI,gDAEE,kBAAA,CADA,kBEGN,CFEE,uCK9BA,yBL+B4B,CK9B5B,sBL8B4B,CK7B5B,iBL6B4B,CAE1B,cAAA,CADA,YAAA,CCXE,kBCeN,CI7BI;ECRI,cAAA,CLDR,CISI;ECRI,cAAA,CLER,CIMI;ECRI,cAAA,CLKR,CIGI;ECRI,cAAA,CLQR","file":"upload.main.min.css","sourcesContent":[null,"////\n/// Upload Module\n/// @group upload\n////\n\n@use 'module/reset';\n\n#{ns-group(upload)} {\n #{ns(label)} {\n #{ns(hint-text)} {\n @include margin-top(3v);\n }\n\n + #{ns(upload)} {\n @include margin-top(4v);\n }\n }\n\n #{ns(message)} {\n &:first-child {\n @include margin-top(2v);\n }\n }\n}\n\n#{ns(upload)} {\n @include text-style(sm);\n @include width(100%);\n display: inline-flex;\n @include margin(0);\n\n &:disabled {\n &::-webkit-file-upload-button {\n outline-style: none;\n cursor: not-allowed;\n }\n }\n\n &::-webkit-file-upload-button {\n @include reset.appearance(button);\n font: inherit;\n cursor: pointer;\n @include margin-right(2v);\n }\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","@charset \"UTF-8\";\n/* ¯¯¯¯¯¯¯¯¯ *\\\n UPLOAD\n\\* ˍˍˍˍˍˍˍˍˍ */\n@media (min-width: 36em) {\n /*! media sm */\n}\n@media (min-width: 48em) {\n /*! media md */\n}\n@media (min-width: 62em) {\n /*! media lg */\n}\n@media (min-width: 78em) {\n /*! media xl */\n}\n.fr-upload-group .fr-label .fr-hint-text {\n margin-top: 0.75rem;\n}\n.fr-upload-group .fr-label + .fr-upload {\n margin-top: 1rem;\n}\n.fr-upload-group .fr-message:first-child {\n margin-top: 0.5rem;\n}\n\n.fr-upload {\n font-size: 0.875rem;\n line-height: 1.5rem;\n width: 100%;\n display: inline-flex;\n margin: 0;\n}\n.fr-upload:disabled::-webkit-file-upload-button {\n outline-style: none;\n cursor: not-allowed;\n}\n.fr-upload::-webkit-file-upload-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n font: inherit;\n cursor: pointer;\n margin-right: 0.5rem;\n}","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing size\n/// @group core\n////\n\n@use '../../../../../module/spacing';\n\n@mixin width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin min-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n min-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin max-width($width:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n max-width: #{spacing.space($width)};\n }\n }\n}\n\n@mixin height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n min-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin max-height($height:null, $from: null) {\n @include respond-from($from) {\n @if $height != null {\n max-height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin size($width:null, $height:null, $from: null) {\n @include respond-from($from) {\n @if $width != null {\n width: #{spacing.space($width)};\n }\n @if $height != null {\n height: #{spacing.space($height)};\n }\n }\n}\n\n@mixin min-size($min-width:null, $min-height:null, $from: null) {\n @include respond-from($from) {\n @if $min-width != null {\n min-width: #{spacing.space($min-width)};\n }\n @if $min-height != null {\n min-height: #{spacing.space($min-height)};\n }\n }\n}\n\n@mixin max-size($max-width:null, $max-height:null, $from: null) {\n @include respond-from($from) {\n @if $max-width != null {\n max-width: #{spacing.space($max-width)};\n }\n @if $max-height != null {\n max-height: #{spacing.space($max-height)};\n }\n }\n}\n","/// Mixin de propriété appearance avec support des plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include appearance(none);\n/// }\n\n@mixin appearance($appearance: auto) {\n -webkit-appearance: $appearance;\n -moz-appearance: $appearance;\n appearance: $appearance;\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'module/media-query/variable/breakpoints';\n@use 'module/media-query';\n\n@mixin order () {\n @each $bp, $limits in breakpoints.$values {\n @if $bp != xs {\n @include media-query.respond-from($bp) {\n /*! media #{$bp} */\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.print.css b/design_system_admin/dsfr/component/upload/upload.print.css new file mode 100644 index 0000000000000000000000000000000000000000..d810c198292cb6441912a5b5fb7ed00fbfa0c2d4 --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.print.css @@ -0,0 +1,9 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + .fr-upload { + font-size: 1rem; + line-height: 1.5rem; + } +} diff --git a/design_system_admin/dsfr/component/upload/upload.print.css.map b/design_system_admin/dsfr/component/upload/upload.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..003de7562b4aa12a839b689b32a44ca075d95517 --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/upload/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","%3Cinput%20css%20YC523S%3E"],"names":[],"mappings":"AAAA;;GAAA;ACKA;ECLA;IC0BE,eAAA;IAGE,mBAAA;ECzBF;AACF","file":"upload.print.css","sourcesContent":[null,"////\n/// Upload Print\n/// @group upload\n////\n\n@media print {\n @import 'index';\n @import 'style/print';\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.print.min.css b/design_system_admin/dsfr/component/upload/upload.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..2af3b7257122b2f41a3df507973914bd67b91ca9 --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{.fr-upload{font-size:1rem;line-height:1.5rem}} \ No newline at end of file diff --git a/design_system_admin/dsfr/component/upload/upload.print.min.css.map b/design_system_admin/dsfr/component/upload/upload.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..9f51a46ff21e7289fc6df93fc8561654c683f832 --- /dev/null +++ b/design_system_admin/dsfr/component/upload/upload.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/component/upload/print.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","%3Cinput%20css%20acMWH2%3E"],"names":[],"mappings":"AAAA;;GAAA,ACKA,aCLA,WC0BE,cAAA,CAGE,kBCzBF,CACF","file":"upload.print.min.css","sourcesContent":[null,"////\n/// Upload Print\n/// @group upload\n////\n\n@media print {\n @import 'index';\n @import 'style/print';\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/core/core.print.css b/design_system_admin/dsfr/core/core.print.css new file mode 100644 index 0000000000000000000000000000000000000000..ef0749b3375ef6e5b34de99d0d3f6c8fbb9ae1cd --- /dev/null +++ b/design_system_admin/dsfr/core/core.print.css @@ -0,0 +1,174 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@media print { + body { + background-color: #fff; + color: #3a3a3a; + } + + a:not([href]), + button:disabled, + input:disabled, + input[type=checkbox]:disabled, + input[type=checkbox]:disabled + label, + input[type=radio]:disabled, + input[type=radio]:disabled + label, + textarea:disabled, + video:not([href]), + audio:not([href]) { + color: #929292; + } + + .fr-artwork-decorative { + fill: #ececfe; + } + + .fr-artwork-minor { + fill: #e1000f; + } + + .fr-artwork-major { + fill: #000091; + } + + .fr-artwork-background { + fill: #f6f6f6; + } + + .fr-artwork-motif { + fill: #e5e5e5; + } + + .fr-artwork--green-tilleul-verveine .fr-artwork-minor { + fill: #b7a73f; + } + + .fr-artwork--green-bourgeon .fr-artwork-minor { + fill: #68a532; + } + + .fr-artwork--green-emeraude .fr-artwork-minor { + fill: #00a95f; + } + + .fr-artwork--green-menthe .fr-artwork-minor { + fill: #009081; + } + + .fr-artwork--green-archipel .fr-artwork-minor { + fill: #009099; + } + + .fr-artwork--blue-ecume .fr-artwork-minor { + fill: #465f9d; + } + + .fr-artwork--blue-cumulus .fr-artwork-minor { + fill: #417dc4; + } + + .fr-artwork--purple-glycine .fr-artwork-minor { + fill: #a558a0; + } + + .fr-artwork--pink-macaron .fr-artwork-minor { + fill: #e18b76; + } + + .fr-artwork--pink-tuile .fr-artwork-minor { + fill: #ce614a; + } + + .fr-artwork--yellow-tournesol .fr-artwork-minor { + fill: #c8aa39; + } + + .fr-artwork--yellow-moutarde .fr-artwork-minor { + fill: #c3992a; + } + + .fr-artwork--orange-terre-battue .fr-artwork-minor { + fill: #e4794a; + } + + .fr-artwork--brown-cafe-creme .fr-artwork-minor { + fill: #d1b781; + } + + .fr-artwork--brown-caramel .fr-artwork-minor { + fill: #c08c65; + } + + .fr-artwork--brown-opera .fr-artwork-minor { + fill: #bd987a; + } + + .fr-artwork--beige-gris-galet .fr-artwork-minor { + fill: #aea397; + } + + [disabled] .fr-artwork * { + fill: #929292; + } + + .fr-h6, + .fr-h5, + .fr-h4, + .fr-h3, + .fr-h2, + .fr-h1, + .fr-display-xs, + .fr-display-sm, + .fr-display-md, + .fr-display-lg, + .fr-display-xl { + color: #161616; + } + + h6, + h5, + h4, + h3, + h2, + h1 { + color: #161616; + } + + hr { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-hr-or::before, + .fr-hr-or::after { + background-color: #ddd; + } + + .fr-hr { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-no-print { + display: none; + } + + h1, + h2, + h3, + h4 { + page-break-after: avoid; + break-after: avoid; + } + + p { + orphans: 3; + widows: 3; + } + + .fr-text--sm, + .fr-text--xs { + font-size: 1rem !important; + line-height: 1.5rem !important; + margin: var(--text-spacing); + } +} diff --git a/design_system_admin/dsfr/core/core.print.css.map b/design_system_admin/dsfr/core/core.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..32491ec2eaccb1abe280df3dc6f08dfa6568a6ba --- /dev/null +++ b/design_system_admin/dsfr/core/core.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/core/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/reset/scheme/_body.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%2013CaDB%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_disabled.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/artwork/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_build-typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/scheme/_heading.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/scheme/_hr.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/tool/_utility.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA;ECSI;ICgCA,sBAAA;IAAA,cAAA;ECrCF;;ECWA;;;;;;;;;;IF0BE,cAAA;EClCF;;EEGE;IH+BA,aAAA;EC/BF;;EEIE;IH2BA,aAAA;EC5BF;;EEKE;IHuBA,aAAA;ECzBF;;EEME;IHmBA,aAAA;ECtBF;;EEOE;IHeA,aAAA;ECnBF;;EESI;IHUF,aAAA;EChBF;;EEMI;IHUF,aAAA;ECbF;;EEGI;IHUF,aAAA;ECVF;;EEAI;IHUF,aAAA;ECPF;;EEHI;IHUF,aAAA;ECJF;;EENI;IHUF,aAAA;ECDF;;EETI;IHUF,aAAA;ECEF;;EEZI;IHUF,aAAA;ECKF;;EEfI;IHUF,aAAA;ECQF;;EElBI;IHUF,aAAA;ECWF;;EErBI;IHUF,aAAA;ECcF;;EExBI;IHUF,aAAA;ECiBF;;EE3BI;IHUF,aAAA;ECoBF;;EE9BI;IHUF,aAAA;ECuBF;;EEjCI;IHUF,aAAA;EC0BF;;EEpCI;IHUF,aAAA;EC6BF;;EEvCI;IHUF,aAAA;ECgCF;;EEnCE;IHGA,aAAA;ECmCF;;EGbA;;;;;;;;;;;IJtBE,cAAA;ECsCF;;EI3DA;;;;;;ILqBE,cAAA;ECyCF;;EK1EA;INiCE,mDAAA;EC4CF;;EMrEA;;IPyBE,sBAAA;EC+CF;;EO3DQ;IRYN,mDAAA;ECkDF;;EQ3FF;IACE,aAAA;ER6FA;;ES9FF;;;;IAIE,uBAAA;IACA,kBAAA;ETgGA;;ES7FF;IACE,UAAA;IACA,SAAA;ET+FA;;ES5FF;;ICaE,0BAAA;IAGE,8BAAA;ICIA,2BAfE;EX6FJ;AACF","file":"core.print.css","sourcesContent":[null,"@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _core-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Scheme : Reset body\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin _core-reset-body-scheme($legacy: false) {\n @if (map-get($reset-settings, body)) {\n body {\n @include color.background(default grey, (legacy:$legacy));\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n body {\n background-color: #fff;\n color: #3a3a3a;\n }\n a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, textarea:disabled, video:not([href]), audio:not([href]) {\n color: #929292;\n }\n .fr-artwork-decorative {\n fill: #ececfe;\n }\n .fr-artwork-minor {\n fill: #e1000f;\n }\n .fr-artwork-major {\n fill: #000091;\n }\n .fr-artwork-background {\n fill: #f6f6f6;\n }\n .fr-artwork-motif {\n fill: #e5e5e5;\n }\n .fr-artwork--green-tilleul-verveine .fr-artwork-minor {\n fill: #b7a73f;\n }\n .fr-artwork--green-bourgeon .fr-artwork-minor {\n fill: #68a532;\n }\n .fr-artwork--green-emeraude .fr-artwork-minor {\n fill: #00a95f;\n }\n .fr-artwork--green-menthe .fr-artwork-minor {\n fill: #009081;\n }\n .fr-artwork--green-archipel .fr-artwork-minor {\n fill: #009099;\n }\n .fr-artwork--blue-ecume .fr-artwork-minor {\n fill: #465f9d;\n }\n .fr-artwork--blue-cumulus .fr-artwork-minor {\n fill: #417dc4;\n }\n .fr-artwork--purple-glycine .fr-artwork-minor {\n fill: #a558a0;\n }\n .fr-artwork--pink-macaron .fr-artwork-minor {\n fill: #e18b76;\n }\n .fr-artwork--pink-tuile .fr-artwork-minor {\n fill: #ce614a;\n }\n .fr-artwork--yellow-tournesol .fr-artwork-minor {\n fill: #c8aa39;\n }\n .fr-artwork--yellow-moutarde .fr-artwork-minor {\n fill: #c3992a;\n }\n .fr-artwork--orange-terre-battue .fr-artwork-minor {\n fill: #e4794a;\n }\n .fr-artwork--brown-cafe-creme .fr-artwork-minor {\n fill: #d1b781;\n }\n .fr-artwork--brown-caramel .fr-artwork-minor {\n fill: #c08c65;\n }\n .fr-artwork--brown-opera .fr-artwork-minor {\n fill: #bd987a;\n }\n .fr-artwork--beige-gris-galet .fr-artwork-minor {\n fill: #aea397;\n }\n [disabled] .fr-artwork * {\n fill: #929292;\n }\n .fr-h6, .fr-h5, .fr-h4, .fr-h3, .fr-h2, .fr-h1, .fr-display-xs, .fr-display-sm, .fr-display-md, .fr-display-lg, .fr-display-xl {\n color: #161616;\n }\n h6, h5, h4, h3, h2, h1 {\n color: #161616;\n }\n hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-hr-or::before, .fr-hr-or::after {\n background-color: #ddd;\n }\n .fr-hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-no-print {\n display: none;\n }\n h1,\n h2,\n h3,\n h4 {\n page-break-after: avoid;\n break-after: avoid;\n }\n p {\n orphans: 3;\n widows: 3;\n }\n .fr-text--sm,\n .fr-text--xs {\n font-size: 1rem !important;\n line-height: 1.5rem !important;\n margin: var(--text-spacing);\n }\n}","////\n/// Core Tool : Action disabled\n/// @group core\n////\n\n@mixin disabled-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $disabled: map-get($setting, disabled);\n $selector: map-get($setting, selector);\n @if $disabled {\n $selectors: append($selectors, nest($selector, map-get($disabled, selector)), 'comma');\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n","////\n/// Core Module : Artwork\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _core-artwork-scheme($legacy: false) {\n #{selector.ns(artwork)} {\n &-decorative {\n @include color.fill(artwork decorative blue-france, (legacy: $legacy));\n }\n\n &-minor {\n @include color.fill(artwork minor red-marianne, (legacy: $legacy));\n }\n\n &-major {\n @include color.fill(artwork major blue-france, (legacy: $legacy));\n }\n\n &-background {\n @include color.fill(artwork background grey, (legacy: $legacy));\n }\n\n &-motif {\n @include color.fill(artwork motif grey, (legacy: $legacy));\n }\n\n @include color.accentuate {\n #{selector.ns(artwork-minor)} {\n @include color.fill(artwork minor accent, (legacy: $legacy));\n }\n }\n }\n\n [disabled] {\n #{selector.ns(artwork)} * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@function typography-selector($type, $name, $is-modifier: false, $alt: null) {\n $base: '';\n $separator: '-';\n\n @if $is-modifier {\n $separator: '--';\n }\n\n @if $type != heading {\n $base: '#{$type + $separator}';\n }\n\n $selectors: (ns('#{$base + $name}'));\n\n @if $alt != null {\n $selectors: append($selectors, ns('#{$base + $alt}'), 'comma');\n }\n\n @return $selectors;\n}\n\n@mixin build-utillity-typography() {\n @if $text-utilities {\n @each $name, $variation in $title-settings {\n $type: display;\n @if is-heading($name) {\n $type: heading;\n }\n\n #{typography-selector($type, $name, true, map-get($variation, alt))} {\n @include title-style($name, true, true, null, true);\n }\n }\n\n #{ns(text--alt)} {\n @include font-family(alt, true);\n }\n }\n\n @if $title-utilities {\n @each $name, $variation in $text-settings {\n #{typography-selector(text, $name, true, map-get($variation, alt))} {\n @include text-style($name, true, true, null, true);\n }\n }\n }\n}\n\n@mixin title-selector() {\n $titles: ();\n @each $name, $variation in $title-settings {\n $type: display;\n @if is-heading($name) {\n $type: heading;\n }\n\n $titles: append($titles, typography-selector($type, $name, false, map-get($variation, alt)), comma);\n }\n #{$titles} {\n @content;\n }\n}\n\n@mixin generate-margin-vars() {\n :root {\n @each $name, $margin in $text-spacing {\n --#{$name}-spacing: #{space($margin)};\n }\n }\n}\n","////\n/// Core Scheme : Reset headings\n/// @group core\n////\n\n@use 'sass:list';\n@use 'module/color';\n@use 'module/typography';\n\n@mixin _core-typography-scheme-heading($legacy: false) {\n @include title-selector {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n $titles: ();\n @each $title, $variation in ($title-settings) {\n @if typography.is-heading($title) {\n $titles: list.append($titles, $title, comma);\n }\n }\n #{$titles} {\n @include color.text(title grey, (legacy: $legacy));\n }\n}\n","////\n/// Core scheme : Display hr\n/// @group core\n////\n\n@use '../../../../../module/color';\n\n@mixin _core-display-hr-scheme($legacy: false) {\n hr {\n @include build-hr-scheme($legacy);\n }\n\n #{ns(hr)} {\n &-or {\n @include _pseudo(before after) {\n @include color.background(border default grey, (legacy:$legacy));\n }\n }\n }\n\n @include build-utility(display, hr) {\n @include build-hr-scheme($legacy);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool\n/// @group core\n////\n\n@mixin build-utility($category, $name, $modifier: null) {\n // Récupération des variables depuis src/variables.scss\n $utilityVars: map-get($variables, $category);\n\n @if map-get($variables, $category) != null {\n $utilityVars: to-map(map-get($utilityVars, $name));\n $breakpointsVars: map-get($utilityVars, 'breakpoints');\n\n // breakpoints: all = xs, sm, md, lg, xl\n $breakpointsList: if($breakpointsVars == all, map-keys($breakpoints), $breakpointsVars);\n @if ($breakpointsList == null) { $breakpointsList: first; } // default: first\n\n // si l'utilitaire n'est pas désactivé\n @if (map-get($utilityVars, 1) != false and map-get($utilityVars, active) != false) {\n @each $bp in $breakpointsList {\n $mod: '-#{$bp}';\n @if ($bp == xs or $bp == first) {\n $bp: first;\n $mod: '';\n }\n @if $modifier {\n $mod: #{$mod + '-' + $modifier};\n }\n @include respond-from($bp) {\n #{ns($name)}#{$mod} {\n @content;\n }\n }\n }\n }\n }\n}\n","#{ns(no-print)} {\n display: none;\n}\n","h1,\nh2,\nh3,\nh4 {\n page-break-after: avoid;\n break-after: avoid;\n}\n\np {\n orphans: 3;\n widows: 3;\n}\n\n#{ns(text)}--sm,\n#{ns(text)}--xs {\n @include text-style(md, true, true, null, true);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/core/core.print.min.css b/design_system_admin/dsfr/core/core.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..9e9530a52d8cc6aa162da6d2b76a19e5fc2a48d7 --- /dev/null +++ b/design_system_admin/dsfr/core/core.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{body{background-color:#fff;color:#3a3a3a}a:not([href]),audio:not([href]),button:disabled,input:disabled,input[type=checkbox]:disabled,input[type=checkbox]:disabled+label,input[type=radio]:disabled,input[type=radio]:disabled+label,textarea:disabled,video:not([href]){color:#929292}.fr-artwork-decorative{fill:#ececfe}.fr-artwork-minor{fill:#e1000f}.fr-artwork-major{fill:#000091}.fr-artwork-background{fill:#f6f6f6}.fr-artwork-motif{fill:#e5e5e5}.fr-artwork--green-tilleul-verveine .fr-artwork-minor{fill:#b7a73f}.fr-artwork--green-bourgeon .fr-artwork-minor{fill:#68a532}.fr-artwork--green-emeraude .fr-artwork-minor{fill:#00a95f}.fr-artwork--green-menthe .fr-artwork-minor{fill:#009081}.fr-artwork--green-archipel .fr-artwork-minor{fill:#009099}.fr-artwork--blue-ecume .fr-artwork-minor{fill:#465f9d}.fr-artwork--blue-cumulus .fr-artwork-minor{fill:#417dc4}.fr-artwork--purple-glycine .fr-artwork-minor{fill:#a558a0}.fr-artwork--pink-macaron .fr-artwork-minor{fill:#e18b76}.fr-artwork--pink-tuile .fr-artwork-minor{fill:#ce614a}.fr-artwork--yellow-tournesol .fr-artwork-minor{fill:#c8aa39}.fr-artwork--yellow-moutarde .fr-artwork-minor{fill:#c3992a}.fr-artwork--orange-terre-battue .fr-artwork-minor{fill:#e4794a}.fr-artwork--brown-cafe-creme .fr-artwork-minor{fill:#d1b781}.fr-artwork--brown-caramel .fr-artwork-minor{fill:#c08c65}.fr-artwork--brown-opera .fr-artwork-minor{fill:#bd987a}.fr-artwork--beige-gris-galet .fr-artwork-minor{fill:#aea397}[disabled] .fr-artwork *{fill:#929292}.fr-display-lg,.fr-display-md,.fr-display-sm,.fr-display-xl,.fr-display-xs,.fr-h1,.fr-h2,.fr-h3,.fr-h4,.fr-h5,.fr-h6,h1,h2,h3,h4,h5,h6{color:#161616}hr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-hr-or:after,.fr-hr-or:before{background-color:#ddd}.fr-hr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-no-print{display:none}h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}p{orphans:3;widows:3}.fr-text--sm,.fr-text--xs{font-size:1rem!important;line-height:1.5rem!important;margin:var(--text-spacing)}} \ No newline at end of file diff --git a/design_system_admin/dsfr/core/core.print.min.css.map b/design_system_admin/dsfr/core/core.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..7fbee95cdf71c2463d35e78f067b7f915f4b6039 --- /dev/null +++ b/design_system_admin/dsfr/core/core.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/core/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/reset/scheme/_body.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20fPjfbX%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_disabled.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/artwork/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/scheme/_heading.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/scheme/_hr.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/tool/_utility.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss"],"names":[],"mappings":"AAAA;;GAAA,ACAA,aCSI,KCgCA,qBAAA,CAAA,aCrCF,CCWA,iOF0BE,aClCF,CEGE,uBH+BA,YC/BF,CEIE,kBH2BA,YC5BF,CEKE,kBHuBA,YCzBF,CEME,uBHmBA,YCtBF,CEOE,kBHeA,YCnBF,CESI,sDHUF,YChBF,CEMI,8CHUF,YCbF,CEGI,8CHUF,YCVF,CEAI,4CHUF,YCPF,CEHI,8CHUF,YCJF,CENI,0CHUF,YCDF,CETI,4CHUF,YCEF,CEZI,8CHUF,YCKF,CEfI,4CHUF,YCQF,CElBI,0CHUF,YCWF,CErBI,gDHUF,YCcF,CExBI,+CHUF,YCiBF,CE3BI,mDHUF,YCoBF,CE9BI,gDHUF,YCuBF,CEjCI,6CHUF,YC0BF,CEpCI,2CHUF,YC6BF,CEvCI,gDHUF,YCgCF,CEnCE,yBHGA,YCmCF,CGxDA,uIJqBE,aCyCF,CI1EA,GLiCE,gDC4CF,CKrEA,iCNyBE,qBC+CF,CM3DQ,OPYN,gDCkDF,CO3FF,aACE,YP6FA,CQ9FF,YAKE,iBAAA,CADA,sBRiGA,CQ7FF,EACE,SAAA,CACA,QR+FA,CQ5FF,0BCaE,wBAAA,CAGE,4BAAA,CCIA,0BV8EF,CACF","file":"core.print.min.css","sourcesContent":[null,"@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _core-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Scheme : Reset body\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin _core-reset-body-scheme($legacy: false) {\n @if (map-get($reset-settings, body)) {\n body {\n @include color.background(default grey, (legacy:$legacy));\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@media print {\n body {\n background-color: #fff;\n color: #3a3a3a;\n }\n a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, textarea:disabled, video:not([href]), audio:not([href]) {\n color: #929292;\n }\n .fr-artwork-decorative {\n fill: #ececfe;\n }\n .fr-artwork-minor {\n fill: #e1000f;\n }\n .fr-artwork-major {\n fill: #000091;\n }\n .fr-artwork-background {\n fill: #f6f6f6;\n }\n .fr-artwork-motif {\n fill: #e5e5e5;\n }\n .fr-artwork--green-tilleul-verveine .fr-artwork-minor {\n fill: #b7a73f;\n }\n .fr-artwork--green-bourgeon .fr-artwork-minor {\n fill: #68a532;\n }\n .fr-artwork--green-emeraude .fr-artwork-minor {\n fill: #00a95f;\n }\n .fr-artwork--green-menthe .fr-artwork-minor {\n fill: #009081;\n }\n .fr-artwork--green-archipel .fr-artwork-minor {\n fill: #009099;\n }\n .fr-artwork--blue-ecume .fr-artwork-minor {\n fill: #465f9d;\n }\n .fr-artwork--blue-cumulus .fr-artwork-minor {\n fill: #417dc4;\n }\n .fr-artwork--purple-glycine .fr-artwork-minor {\n fill: #a558a0;\n }\n .fr-artwork--pink-macaron .fr-artwork-minor {\n fill: #e18b76;\n }\n .fr-artwork--pink-tuile .fr-artwork-minor {\n fill: #ce614a;\n }\n .fr-artwork--yellow-tournesol .fr-artwork-minor {\n fill: #c8aa39;\n }\n .fr-artwork--yellow-moutarde .fr-artwork-minor {\n fill: #c3992a;\n }\n .fr-artwork--orange-terre-battue .fr-artwork-minor {\n fill: #e4794a;\n }\n .fr-artwork--brown-cafe-creme .fr-artwork-minor {\n fill: #d1b781;\n }\n .fr-artwork--brown-caramel .fr-artwork-minor {\n fill: #c08c65;\n }\n .fr-artwork--brown-opera .fr-artwork-minor {\n fill: #bd987a;\n }\n .fr-artwork--beige-gris-galet .fr-artwork-minor {\n fill: #aea397;\n }\n [disabled] .fr-artwork * {\n fill: #929292;\n }\n .fr-h6, .fr-h5, .fr-h4, .fr-h3, .fr-h2, .fr-h1, .fr-display-xs, .fr-display-sm, .fr-display-md, .fr-display-lg, .fr-display-xl {\n color: #161616;\n }\n h6, h5, h4, h3, h2, h1 {\n color: #161616;\n }\n hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-hr-or::before, .fr-hr-or::after {\n background-color: #ddd;\n }\n .fr-hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-no-print {\n display: none;\n }\n h1,\n h2,\n h3,\n h4 {\n page-break-after: avoid;\n break-after: avoid;\n }\n p {\n orphans: 3;\n widows: 3;\n }\n .fr-text--sm,\n .fr-text--xs {\n font-size: 1rem !important;\n line-height: 1.5rem !important;\n margin: var(--text-spacing);\n }\n}","////\n/// Core Tool : Action disabled\n/// @group core\n////\n\n@mixin disabled-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $disabled: map-get($setting, disabled);\n $selector: map-get($setting, selector);\n @if $disabled {\n $selectors: append($selectors, nest($selector, map-get($disabled, selector)), 'comma');\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n","////\n/// Core Module : Artwork\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _core-artwork-scheme($legacy: false) {\n #{selector.ns(artwork)} {\n &-decorative {\n @include color.fill(artwork decorative blue-france, (legacy: $legacy));\n }\n\n &-minor {\n @include color.fill(artwork minor red-marianne, (legacy: $legacy));\n }\n\n &-major {\n @include color.fill(artwork major blue-france, (legacy: $legacy));\n }\n\n &-background {\n @include color.fill(artwork background grey, (legacy: $legacy));\n }\n\n &-motif {\n @include color.fill(artwork motif grey, (legacy: $legacy));\n }\n\n @include color.accentuate {\n #{selector.ns(artwork-minor)} {\n @include color.fill(artwork minor accent, (legacy: $legacy));\n }\n }\n }\n\n [disabled] {\n #{selector.ns(artwork)} * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// Core Scheme : Reset headings\n/// @group core\n////\n\n@use 'sass:list';\n@use 'module/color';\n@use 'module/typography';\n\n@mixin _core-typography-scheme-heading($legacy: false) {\n @include title-selector {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n $titles: ();\n @each $title, $variation in ($title-settings) {\n @if typography.is-heading($title) {\n $titles: list.append($titles, $title, comma);\n }\n }\n #{$titles} {\n @include color.text(title grey, (legacy: $legacy));\n }\n}\n","////\n/// Core scheme : Display hr\n/// @group core\n////\n\n@use '../../../../../module/color';\n\n@mixin _core-display-hr-scheme($legacy: false) {\n hr {\n @include build-hr-scheme($legacy);\n }\n\n #{ns(hr)} {\n &-or {\n @include _pseudo(before after) {\n @include color.background(border default grey, (legacy:$legacy));\n }\n }\n }\n\n @include build-utility(display, hr) {\n @include build-hr-scheme($legacy);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool\n/// @group core\n////\n\n@mixin build-utility($category, $name, $modifier: null) {\n // Récupération des variables depuis src/variables.scss\n $utilityVars: map-get($variables, $category);\n\n @if map-get($variables, $category) != null {\n $utilityVars: to-map(map-get($utilityVars, $name));\n $breakpointsVars: map-get($utilityVars, 'breakpoints');\n\n // breakpoints: all = xs, sm, md, lg, xl\n $breakpointsList: if($breakpointsVars == all, map-keys($breakpoints), $breakpointsVars);\n @if ($breakpointsList == null) { $breakpointsList: first; } // default: first\n\n // si l'utilitaire n'est pas désactivé\n @if (map-get($utilityVars, 1) != false and map-get($utilityVars, active) != false) {\n @each $bp in $breakpointsList {\n $mod: '-#{$bp}';\n @if ($bp == xs or $bp == first) {\n $bp: first;\n $mod: '';\n }\n @if $modifier {\n $mod: #{$mod + '-' + $modifier};\n }\n @include respond-from($bp) {\n #{ns($name)}#{$mod} {\n @content;\n }\n }\n }\n }\n }\n}\n","#{ns(no-print)} {\n display: none;\n}\n","h1,\nh2,\nh3,\nh4 {\n page-break-after: avoid;\n break-after: avoid;\n}\n\np {\n orphans: 3;\n widows: 3;\n}\n\n#{ns(text)}--sm,\n#{ns(text)}--xs {\n @include text-style(md, true, true, null, true);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/dsfr.print.css b/design_system_admin/dsfr/dsfr.print.css new file mode 100644 index 0000000000000000000000000000000000000000..acf2e34531ff6b0410e3493b6157daebdad6ba30 --- /dev/null +++ b/design_system_admin/dsfr/dsfr.print.css @@ -0,0 +1,3302 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */ +@charset "UTF-8"; +@media print { + body { + background-color: #fff; + color: #3a3a3a; + } + + a:not([href]), + button:disabled, + input:disabled, + input[type=checkbox]:disabled, + input[type=checkbox]:disabled + label, + input[type=radio]:disabled, + input[type=radio]:disabled + label, + textarea:disabled, + video:not([href]), + audio:not([href]) { + color: #929292; + } + + .fr-artwork-decorative { + fill: #ececfe; + } + + .fr-artwork-minor { + fill: #e1000f; + } + + .fr-artwork-major { + fill: #000091; + } + + .fr-artwork-background { + fill: #f6f6f6; + } + + .fr-artwork-motif { + fill: #e5e5e5; + } + + .fr-artwork--green-tilleul-verveine .fr-artwork-minor { + fill: #b7a73f; + } + + .fr-artwork--green-bourgeon .fr-artwork-minor { + fill: #68a532; + } + + .fr-artwork--green-emeraude .fr-artwork-minor { + fill: #00a95f; + } + + .fr-artwork--green-menthe .fr-artwork-minor { + fill: #009081; + } + + .fr-artwork--green-archipel .fr-artwork-minor { + fill: #009099; + } + + .fr-artwork--blue-ecume .fr-artwork-minor { + fill: #465f9d; + } + + .fr-artwork--blue-cumulus .fr-artwork-minor { + fill: #417dc4; + } + + .fr-artwork--purple-glycine .fr-artwork-minor { + fill: #a558a0; + } + + .fr-artwork--pink-macaron .fr-artwork-minor { + fill: #e18b76; + } + + .fr-artwork--pink-tuile .fr-artwork-minor { + fill: #ce614a; + } + + .fr-artwork--yellow-tournesol .fr-artwork-minor { + fill: #c8aa39; + } + + .fr-artwork--yellow-moutarde .fr-artwork-minor { + fill: #c3992a; + } + + .fr-artwork--orange-terre-battue .fr-artwork-minor { + fill: #e4794a; + } + + .fr-artwork--brown-cafe-creme .fr-artwork-minor { + fill: #d1b781; + } + + .fr-artwork--brown-caramel .fr-artwork-minor { + fill: #c08c65; + } + + .fr-artwork--brown-opera .fr-artwork-minor { + fill: #bd987a; + } + + .fr-artwork--beige-gris-galet .fr-artwork-minor { + fill: #aea397; + } + + [disabled] .fr-artwork * { + fill: #929292; + } + + .fr-h6, + .fr-h5, + .fr-h4, + .fr-h3, + .fr-h2, + .fr-h1, + .fr-display-xs, + .fr-display-sm, + .fr-display-md, + .fr-display-lg, + .fr-display-xl { + color: #161616; + } + + h6, + h5, + h4, + h3, + h2, + h1 { + color: #161616; + } + + hr { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-hr-or::before, + .fr-hr-or::after { + background-color: #ddd; + } + + .fr-hr { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-no-print { + display: none; + } + + h1, + h2, + h3, + h4 { + page-break-after: avoid; + break-after: avoid; + } + + p { + orphans: 3; + widows: 3; + } + + .fr-text--sm, + .fr-text--xs { + font-size: 1rem !important; + line-height: 1.5rem !important; + margin: var(--text-spacing); + } + + .fr-upload { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-accordion::before { + box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd; + } + + .fr-accordion__btn { + color: #000091; + } + + .fr-accordion__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-accordion__btn::after { + transform: rotate(-180deg); + } + + .fr-accordion .fr-collapse:not(.fr-collapse--expanded) { + --collapse-max-height: none !important; + --collapse: inherit !important; + visibility: visible; + padding: 1rem; + } + + .fr-badge { + color: #3a3a3a; + background-color: #eee; + } + + .fr-badge--info { + color: #0063cb; + background-color: #e8edff; + } + + .fr-badge--error { + color: #ce0500; + background-color: #ffe9e9; + } + + .fr-badge--success { + color: #18753c; + background-color: #b8fec9; + } + + .fr-badge--warning { + color: #b34000; + background-color: #ffe9e6; + } + + .fr-badge--new { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--green-tilleul-verveine { + color: #66673d; + background-color: #fceeac; + } + + .fr-badge--green-bourgeon { + color: #447049; + background-color: #c9fcac; + } + + .fr-badge--green-emeraude { + color: #297254; + background-color: #c3fad5; + } + + .fr-badge--green-menthe { + color: #37635f; + background-color: #bafaee; + } + + .fr-badge--green-archipel { + color: #006a6f; + background-color: #c7f6fc; + } + + .fr-badge--blue-ecume { + color: #2f4077; + background-color: #e9edfe; + } + + .fr-badge--blue-cumulus { + color: #3558a2; + background-color: #e6eefe; + } + + .fr-badge--purple-glycine { + color: #6e445a; + background-color: #fee7fc; + } + + .fr-badge--pink-macaron { + color: #8d533e; + background-color: #fee9e6; + } + + .fr-badge--pink-tuile { + color: #a94645; + background-color: #fee9e7; + } + + .fr-badge--yellow-tournesol { + color: #716043; + background-color: #feecc2; + } + + .fr-badge--yellow-moutarde { + color: #695240; + background-color: #feebd0; + } + + .fr-badge--orange-terre-battue { + color: #755348; + background-color: #fee9e5; + } + + .fr-badge--brown-cafe-creme { + color: #685c48; + background-color: #f7ecdb; + } + + .fr-badge--brown-caramel { + color: #845d48; + background-color: #f7ebe5; + } + + .fr-badge--brown-opera { + color: #745b47; + background-color: #f7ece4; + } + + .fr-badge--beige-gris-galet { + color: #6a6156; + background-color: #f3ede5; + } + + .fr-logo { + color: #000; + } + + .fr-logo::after { + background-position: 0 calc(100% + 1.875rem) !important; + } + + .fr-btn { + background-color: #000091; + color: #f5f5fe; + } + + .fr-btn:hover { + background-color: #1212ff; + } + + .fr-btn:active { + background-color: #2323ff; + } + + .fr-btn:disabled, + a.fr-btn:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-btn--secondary { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary, + .fr-btn--account { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + color: #000091; + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + color: #929292; + } + + .fr-btn--secondary, + .fr-btn--tertiary, + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip { + background-color: transparent; + } + + .fr-connect { + background-color: #000091; + color: #f5f5fe; + } + + .fr-connect:disabled, + a.fr-connect:not([href]) { + background-color: #e5e5e5; + color: #929292; + } + + .fr-connect-group .fr-connect + p a { + color: #000091; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-connect-group p { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-quote { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-quote::before { + color: #6a6af4; + } + + .fr-quote--green-tilleul-verveine::before { + color: #b7a73f; + } + + .fr-quote--green-bourgeon::before { + color: #68a532; + } + + .fr-quote--green-emeraude::before { + color: #00a95f; + } + + .fr-quote--green-menthe::before { + color: #009081; + } + + .fr-quote--green-archipel::before { + color: #009099; + } + + .fr-quote--blue-ecume::before { + color: #465f9d; + } + + .fr-quote--blue-cumulus::before { + color: #417dc4; + } + + .fr-quote--purple-glycine::before { + color: #a558a0; + } + + .fr-quote--pink-macaron::before { + color: #e18b76; + } + + .fr-quote--pink-tuile::before { + color: #ce614a; + } + + .fr-quote--yellow-tournesol::before { + color: #c8aa39; + } + + .fr-quote--yellow-moutarde::before { + color: #c3992a; + } + + .fr-quote--orange-terre-battue::before { + color: #e4794a; + } + + .fr-quote--brown-cafe-creme::before { + color: #d1b781; + } + + .fr-quote--brown-caramel::before { + color: #c08c65; + } + + .fr-quote--brown-opera::before { + color: #bd987a; + } + + .fr-quote--beige-gris-galet::before { + color: #aea397; + } + + .fr-quote__source { + color: #666; + } + + .fr-quote__author, + .fr-quote cite, + .fr-quote figcaption li { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-breadcrumb { + color: #666; + display: none; + } + + .fr-breadcrumb__link[aria-current]:not([aria-current=false]) { + color: #3a3a3a; + } + + .fr-select-group--valid label, + .fr-input-group--valid label, + .fr-range-group--valid label, + .fr-upload-group--valid label { + color: #18753c; + } + + .fr-select-group--error label, + .fr-input-group--error label, + .fr-range-group--error label, + .fr-upload-group--error label { + color: #ce0500; + } + + .fr-select-group--info label, + .fr-input-group--info label, + .fr-range-group--info label, + .fr-upload-group--info label { + color: #0063cb; + } + + .fr-select-group--disabled label, + .fr-select-group--disabled .fr-hint-text, + .fr-input-group--disabled label, + .fr-input-group--disabled .fr-hint-text, + .fr-range-group--disabled label, + .fr-range-group--disabled .fr-hint-text, + .fr-upload-group--disabled label, + .fr-upload-group--disabled .fr-hint-text { + color: #929292; + } + + .fr-label { + color: #161616; + } + + .fr-label--error { + color: #ce0500; + } + + .fr-label--success { + color: #18753c; + } + + .fr-label--info { + color: #0063cb; + } + + .fr-label--disabled, + .fr-label--disabled .fr-hint-text { + color: #929292; + } + + .fr-hint-text, + .fr-message { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-message--error { + color: #ce0500; + } + + .fr-message--valid { + color: #18753c; + } + + .fr-message--info { + color: #0063cb; + } + + .fr-fieldset:disabled .fr-label, + .fr-fieldset:disabled .fr-hint-text, + .fr-fieldset:disabled .fr-fieldset__legend { + color: #929292; + } + + .fr-fieldset input:disabled + label, + .fr-fieldset input:disabled + label .fr-hint-text, + .fr-fieldset input:disabled + label + .fr-hint-text { + color: #929292; + } + + .fr-fieldset__legend { + color: #161616; + } + + .fr-fieldset--error, + .fr-fieldset--error .fr-fieldset__legend { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-fieldset--error .fr-fieldset__legend, + .fr-fieldset--error .fr-label { + color: #ce0500; + } + + .fr-fieldset--valid, + .fr-fieldset--valid .fr-fieldset__legend { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-fieldset--valid .fr-fieldset__legend, + .fr-fieldset--valid .fr-label { + color: #18753c; + } + + .fr-fieldset--info, + .fr-fieldset--info .fr-fieldset__legend { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-fieldset--info .fr-fieldset__legend, + .fr-fieldset--info .fr-label { + color: #0063cb; + } + + .fr-stepper__title { + color: #161616; + } + + .fr-stepper__state { + color: #666; + } + + .fr-stepper__details { + color: #666; + } + + .fr-stepper__steps { + background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer)), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer)); + } + + .fr-stepper__state, + .fr-stepper__details { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-tooltip { + color: #3a3a3a; + display: none; + } + + .fr-tooltip.fr-placement--top { + background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } + + .fr-tooltip.fr-placement--bottom { + background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff); + } + + .fr-link { + color: #000091; + } + + .fr-link__detail { + color: #666; + } + + .fr-links-group li::marker { + color: #000091; + } + + .fr-links-group--bordered { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-sidemenu { + box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd; + + /* + @include elevation.elevate(raised, (legacy:$legacy)); + @include respond-from(md) { + @include elevation.drop((legacy:$legacy)); + } + */ + display: none; + } + + .fr-sidemenu__title { + color: #161616; + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item .fr-sidemenu__link, + .fr-sidemenu__item .fr-sidemenu__btn { + color: #161616; + } + + .fr-sidemenu__item::before { + box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:first-child::before { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__item:last-child::before { + box-shadow: 0 -1px 0 0 #ddd; + } + + .fr-sidemenu__link, + .fr-sidemenu__btn { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false]), + .fr-sidemenu__btn[aria-current]:not([aria-current=false]) { + color: #000091; + } + + .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, + .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before { + background-color: #000091; + } + + .fr-sidemenu__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-highlight { + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-highlight--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-highlight--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-highlight--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-highlight--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-highlight--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-highlight--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-highlight--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-highlight--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-highlight--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-highlight--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-highlight--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-highlight--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-highlight--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-highlight--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-highlight--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-highlight--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-highlight--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + } + + .fr-tabs { + box-shadow: inset 0 -1px 0 0 #ddd; + + /** + * Tab button + */ + } + + .fr-tabs::before { + box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd; + } + + .fr-tabs__tab { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + box-shadow: 0 2px 0 0 #fff; + } + + .fr-tabs__tab:not([aria-selected=true]) { + background-color: #e3e3fd; + color: #161616; + } + + .fr-tabs__tab[aria-selected=true]:not(:disabled) { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + color: #000091; + } + + .fr-tabs__tab:disabled { + color: #929292; + background-color: #e5e5e5; + } + + .fr-pagination { + color: #161616; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]) { + background-color: #000091; + color: #f5f5fe; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):hover { + background-color: #1212ff; + } + + .fr-pagination__link[aria-current]:not([aria-current=false]):active { + background-color: #2323ff; + } + + .fr-pagination__link:not([aria-current]):disabled, + a.fr-pagination__link:not([aria-current]):not([href]), + a.fr-pagination__link[aria-current=false]:not([href]), + .fr-pagination__link[aria-current=false]:disabled { + color: #929292; + } + + .fr-summary { + background-color: #eee; + display: none; + } + + .fr-summary__title { + color: #161616; + } + + .fr-summary li > a { + color: #161616; + } + + .fr-table { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table caption { + color: #161616; + } + + .fr-table thead { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + background-color: #eee; + color: #161616; + } + + .fr-table tbody { + background-color: #f6f6f6; + } + + .fr-table tbody tr:nth-child(even) { + background-color: #eee; + } + + .fr-table--green-tilleul-verveine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-tilleul-verveine thead { + background-image: linear-gradient(0deg, #66673d, #66673d); + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine tbody { + background-color: #fef7da; + } + + .fr-table--green-tilleul-verveine tbody tr:nth-child(even) { + background-color: #fceeac; + } + + .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + } + + .fr-table--green-bourgeon { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-bourgeon thead { + background-image: linear-gradient(0deg, #447049, #447049); + background-color: #c9fcac; + } + + .fr-table--green-bourgeon tbody { + background-color: #e6feda; + } + + .fr-table--green-bourgeon tbody tr:nth-child(even) { + background-color: #c9fcac; + } + + .fr-table--green-bourgeon.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #68a532, #68a532); + } + + .fr-table--green-emeraude { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-emeraude thead { + background-image: linear-gradient(0deg, #297254, #297254); + background-color: #c3fad5; + } + + .fr-table--green-emeraude tbody { + background-color: #e3fdeb; + } + + .fr-table--green-emeraude tbody tr:nth-child(even) { + background-color: #c3fad5; + } + + .fr-table--green-emeraude.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + } + + .fr-table--green-menthe { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-menthe thead { + background-image: linear-gradient(0deg, #37635f, #37635f); + background-color: #bafaee; + } + + .fr-table--green-menthe tbody { + background-color: #dffdf7; + } + + .fr-table--green-menthe tbody tr:nth-child(even) { + background-color: #bafaee; + } + + .fr-table--green-menthe.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009081, #009081); + } + + .fr-table--green-archipel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--green-archipel thead { + background-image: linear-gradient(0deg, #006a6f, #006a6f); + background-color: #c7f6fc; + } + + .fr-table--green-archipel tbody { + background-color: #e5fbfd; + } + + .fr-table--green-archipel tbody tr:nth-child(even) { + background-color: #c7f6fc; + } + + .fr-table--green-archipel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #009099, #009099); + } + + .fr-table--blue-ecume { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-ecume thead { + background-image: linear-gradient(0deg, #2f4077, #2f4077); + background-color: #e9edfe; + } + + .fr-table--blue-ecume tbody { + background-color: #f4f6fe; + } + + .fr-table--blue-ecume tbody tr:nth-child(even) { + background-color: #e9edfe; + } + + .fr-table--blue-ecume.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + } + + .fr-table--blue-cumulus { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--blue-cumulus thead { + background-image: linear-gradient(0deg, #3558a2, #3558a2); + background-color: #e6eefe; + } + + .fr-table--blue-cumulus tbody { + background-color: #f3f6fe; + } + + .fr-table--blue-cumulus tbody tr:nth-child(even) { + background-color: #e6eefe; + } + + .fr-table--blue-cumulus.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + } + + .fr-table--purple-glycine { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--purple-glycine thead { + background-image: linear-gradient(0deg, #6e445a, #6e445a); + background-color: #fee7fc; + } + + .fr-table--purple-glycine tbody { + background-color: #fef3fd; + } + + .fr-table--purple-glycine tbody tr:nth-child(even) { + background-color: #fee7fc; + } + + .fr-table--purple-glycine.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + } + + .fr-table--pink-macaron { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-macaron thead { + background-image: linear-gradient(0deg, #8d533e, #8d533e); + background-color: #fee9e6; + } + + .fr-table--pink-macaron tbody { + background-color: #fef4f2; + } + + .fr-table--pink-macaron tbody tr:nth-child(even) { + background-color: #fee9e6; + } + + .fr-table--pink-macaron.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + } + + .fr-table--pink-tuile { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--pink-tuile thead { + background-image: linear-gradient(0deg, #a94645, #a94645); + background-color: #fee9e7; + } + + .fr-table--pink-tuile tbody { + background-color: #fef4f3; + } + + .fr-table--pink-tuile tbody tr:nth-child(even) { + background-color: #fee9e7; + } + + .fr-table--pink-tuile.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + } + + .fr-table--yellow-tournesol { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-tournesol thead { + background-image: linear-gradient(0deg, #716043, #716043); + background-color: #feecc2; + } + + .fr-table--yellow-tournesol tbody { + background-color: #fef6e3; + } + + .fr-table--yellow-tournesol tbody tr:nth-child(even) { + background-color: #feecc2; + } + + .fr-table--yellow-tournesol.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + } + + .fr-table--yellow-moutarde { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--yellow-moutarde thead { + background-image: linear-gradient(0deg, #695240, #695240); + background-color: #feebd0; + } + + .fr-table--yellow-moutarde tbody { + background-color: #fef5e8; + } + + .fr-table--yellow-moutarde tbody tr:nth-child(even) { + background-color: #feebd0; + } + + .fr-table--yellow-moutarde.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + } + + .fr-table--orange-terre-battue { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--orange-terre-battue thead { + background-image: linear-gradient(0deg, #755348, #755348); + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue tbody { + background-color: #fef4f2; + } + + .fr-table--orange-terre-battue tbody tr:nth-child(even) { + background-color: #fee9e5; + } + + .fr-table--orange-terre-battue.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + } + + .fr-table--brown-cafe-creme { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-cafe-creme thead { + background-image: linear-gradient(0deg, #685c48, #685c48); + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme tbody { + background-color: #fbf6ed; + } + + .fr-table--brown-cafe-creme tbody tr:nth-child(even) { + background-color: #f7ecdb; + } + + .fr-table--brown-cafe-creme.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + } + + .fr-table--brown-caramel { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-caramel thead { + background-image: linear-gradient(0deg, #845d48, #845d48); + background-color: #f7ebe5; + } + + .fr-table--brown-caramel tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-caramel tbody tr:nth-child(even) { + background-color: #f7ebe5; + } + + .fr-table--brown-caramel.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + } + + .fr-table--brown-opera { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--brown-opera thead { + background-image: linear-gradient(0deg, #745b47, #745b47); + background-color: #f7ece4; + } + + .fr-table--brown-opera tbody { + background-color: #fbf5f2; + } + + .fr-table--brown-opera tbody tr:nth-child(even) { + background-color: #f7ece4; + } + + .fr-table--brown-opera.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + } + + .fr-table--beige-gris-galet { + /* Style bordered, ajoute des bordures entre chaque ligne */ + } + + .fr-table--beige-gris-galet thead { + background-image: linear-gradient(0deg, #6a6156, #6a6156); + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet tbody { + background-color: #f9f6f2; + } + + .fr-table--beige-gris-galet tbody tr:nth-child(even) { + background-color: #f3ede5; + } + + .fr-table--beige-gris-galet.fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #aea397, #aea397); + } + + .fr-table--bordered tbody tr { + background-image: linear-gradient(0deg, #ddd, #ddd); + + /* Style bordered, enleve le style even/odd */ + } + + .fr-table td, + .fr-table th { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-tag { + color: #161616; + background-color: #eee; + } + + .fr-tag[aria-pressed=false] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-tag[aria-pressed=false]:hover { + background-color: #c1c1fb; + } + + .fr-tag[aria-pressed=false]:active { + background-color: #adadf9; + } + + .fr-tag.fr-tag--dismiss { + color: #f5f5fe; + background-color: #000091; + } + + .fr-tag.fr-tag--dismiss:hover { + background-color: #1212ff; + } + + .fr-tag.fr-tag--dismiss:active { + background-color: #2323ff; + } + + a[href].fr-tag, + button.fr-tag, + input[type=button].fr-tag { + color: #000091; + background-color: #e3e3fd; + } + + a[href].fr-tag:hover, + button.fr-tag:hover, + input[type=button].fr-tag:hover { + background-color: #c1c1fb; + } + + a[href].fr-tag:active, + button.fr-tag:active, + input[type=button].fr-tag:active { + background-color: #adadf9; + } + + a[href].fr-tag--green-tilleul-verveine, + button.fr-tag--green-tilleul-verveine, + input[type=button].fr-tag--green-tilleul-verveine { + color: #66673d; + background-color: #fbe769; + } + + a[href].fr-tag--green-tilleul-verveine:hover, + button.fr-tag--green-tilleul-verveine:hover, + input[type=button].fr-tag--green-tilleul-verveine:hover { + background-color: #d7c655; + } + + a[href].fr-tag--green-tilleul-verveine:active, + button.fr-tag--green-tilleul-verveine:active, + input[type=button].fr-tag--green-tilleul-verveine:active { + background-color: #c2b24c; + } + + a[href].fr-tag--green-bourgeon, + button.fr-tag--green-bourgeon, + input[type=button].fr-tag--green-bourgeon { + color: #447049; + background-color: #a9fb68; + } + + a[href].fr-tag--green-bourgeon:hover, + button.fr-tag--green-bourgeon:hover, + input[type=button].fr-tag--green-bourgeon:hover { + background-color: #8ed654; + } + + a[href].fr-tag--green-bourgeon:active, + button.fr-tag--green-bourgeon:active, + input[type=button].fr-tag--green-bourgeon:active { + background-color: #7fc04b; + } + + a[href].fr-tag--green-emeraude, + button.fr-tag--green-emeraude, + input[type=button].fr-tag--green-emeraude { + color: #297254; + background-color: #9ef9be; + } + + a[href].fr-tag--green-emeraude:hover, + button.fr-tag--green-emeraude:hover, + input[type=button].fr-tag--green-emeraude:hover { + background-color: #69df97; + } + + a[href].fr-tag--green-emeraude:active, + button.fr-tag--green-emeraude:active, + input[type=button].fr-tag--green-emeraude:active { + background-color: #5ec988; + } + + a[href].fr-tag--green-menthe, + button.fr-tag--green-menthe, + input[type=button].fr-tag--green-menthe { + color: #37635f; + background-color: #8bf8e7; + } + + a[href].fr-tag--green-menthe:hover, + button.fr-tag--green-menthe:hover, + input[type=button].fr-tag--green-menthe:hover { + background-color: #6ed5c5; + } + + a[href].fr-tag--green-menthe:active, + button.fr-tag--green-menthe:active, + input[type=button].fr-tag--green-menthe:active { + background-color: #62bfb1; + } + + a[href].fr-tag--green-archipel, + button.fr-tag--green-archipel, + input[type=button].fr-tag--green-archipel { + color: #006a6f; + background-color: #a6f2fa; + } + + a[href].fr-tag--green-archipel:hover, + button.fr-tag--green-archipel:hover, + input[type=button].fr-tag--green-archipel:hover { + background-color: #62dbe5; + } + + a[href].fr-tag--green-archipel:active, + button.fr-tag--green-archipel:active, + input[type=button].fr-tag--green-archipel:active { + background-color: #58c5cf; + } + + a[href].fr-tag--blue-ecume, + button.fr-tag--blue-ecume, + input[type=button].fr-tag--blue-ecume { + color: #2f4077; + background-color: #dee5fd; + } + + a[href].fr-tag--blue-ecume:hover, + button.fr-tag--blue-ecume:hover, + input[type=button].fr-tag--blue-ecume:hover { + background-color: #b4c5fb; + } + + a[href].fr-tag--blue-ecume:active, + button.fr-tag--blue-ecume:active, + input[type=button].fr-tag--blue-ecume:active { + background-color: #99b3f9; + } + + a[href].fr-tag--blue-cumulus, + button.fr-tag--blue-cumulus, + input[type=button].fr-tag--blue-cumulus { + color: #3558a2; + background-color: #dae6fd; + } + + a[href].fr-tag--blue-cumulus:hover, + button.fr-tag--blue-cumulus:hover, + input[type=button].fr-tag--blue-cumulus:hover { + background-color: #a9c8fb; + } + + a[href].fr-tag--blue-cumulus:active, + button.fr-tag--blue-cumulus:active, + input[type=button].fr-tag--blue-cumulus:active { + background-color: #8ab8f9; + } + + a[href].fr-tag--purple-glycine, + button.fr-tag--purple-glycine, + input[type=button].fr-tag--purple-glycine { + color: #6e445a; + background-color: #fddbfa; + } + + a[href].fr-tag--purple-glycine:hover, + button.fr-tag--purple-glycine:hover, + input[type=button].fr-tag--purple-glycine:hover { + background-color: #fbaff5; + } + + a[href].fr-tag--purple-glycine:active, + button.fr-tag--purple-glycine:active, + input[type=button].fr-tag--purple-glycine:active { + background-color: #fa96f2; + } + + a[href].fr-tag--pink-macaron, + button.fr-tag--pink-macaron, + input[type=button].fr-tag--pink-macaron { + color: #8d533e; + background-color: #fddfda; + } + + a[href].fr-tag--pink-macaron:hover, + button.fr-tag--pink-macaron:hover, + input[type=button].fr-tag--pink-macaron:hover { + background-color: #fbb8ab; + } + + a[href].fr-tag--pink-macaron:active, + button.fr-tag--pink-macaron:active, + input[type=button].fr-tag--pink-macaron:active { + background-color: #faa18d; + } + + a[href].fr-tag--pink-tuile, + button.fr-tag--pink-tuile, + input[type=button].fr-tag--pink-tuile { + color: #a94645; + background-color: #fddfdb; + } + + a[href].fr-tag--pink-tuile:hover, + button.fr-tag--pink-tuile:hover, + input[type=button].fr-tag--pink-tuile:hover { + background-color: #fbb8ad; + } + + a[href].fr-tag--pink-tuile:active, + button.fr-tag--pink-tuile:active, + input[type=button].fr-tag--pink-tuile:active { + background-color: #faa191; + } + + a[href].fr-tag--yellow-tournesol, + button.fr-tag--yellow-tournesol, + input[type=button].fr-tag--yellow-tournesol { + color: #716043; + background-color: #fde39c; + } + + a[href].fr-tag--yellow-tournesol:hover, + button.fr-tag--yellow-tournesol:hover, + input[type=button].fr-tag--yellow-tournesol:hover { + background-color: #e9c53b; + } + + a[href].fr-tag--yellow-tournesol:active, + button.fr-tag--yellow-tournesol:active, + input[type=button].fr-tag--yellow-tournesol:active { + background-color: #d3b235; + } + + a[href].fr-tag--yellow-moutarde, + button.fr-tag--yellow-moutarde, + input[type=button].fr-tag--yellow-moutarde { + color: #695240; + background-color: #fde2b5; + } + + a[href].fr-tag--yellow-moutarde:hover, + button.fr-tag--yellow-moutarde:hover, + input[type=button].fr-tag--yellow-moutarde:hover { + background-color: #f6c43c; + } + + a[href].fr-tag--yellow-moutarde:active, + button.fr-tag--yellow-moutarde:active, + input[type=button].fr-tag--yellow-moutarde:active { + background-color: #dfb135; + } + + a[href].fr-tag--orange-terre-battue, + button.fr-tag--orange-terre-battue, + input[type=button].fr-tag--orange-terre-battue { + color: #755348; + background-color: #fddfd8; + } + + a[href].fr-tag--orange-terre-battue:hover, + button.fr-tag--orange-terre-battue:hover, + input[type=button].fr-tag--orange-terre-battue:hover { + background-color: #fbb8a5; + } + + a[href].fr-tag--orange-terre-battue:active, + button.fr-tag--orange-terre-battue:active, + input[type=button].fr-tag--orange-terre-battue:active { + background-color: #faa184; + } + + a[href].fr-tag--brown-cafe-creme, + button.fr-tag--brown-cafe-creme, + input[type=button].fr-tag--brown-cafe-creme { + color: #685c48; + background-color: #f4e3c7; + } + + a[href].fr-tag--brown-cafe-creme:hover, + button.fr-tag--brown-cafe-creme:hover, + input[type=button].fr-tag--brown-cafe-creme:hover { + background-color: #e1c386; + } + + a[href].fr-tag--brown-cafe-creme:active, + button.fr-tag--brown-cafe-creme:active, + input[type=button].fr-tag--brown-cafe-creme:active { + background-color: #ccb078; + } + + a[href].fr-tag--brown-caramel, + button.fr-tag--brown-caramel, + input[type=button].fr-tag--brown-caramel { + color: #845d48; + background-color: #f3e2d9; + } + + a[href].fr-tag--brown-caramel:hover, + button.fr-tag--brown-caramel:hover, + input[type=button].fr-tag--brown-caramel:hover { + background-color: #e7bea6; + } + + a[href].fr-tag--brown-caramel:active, + button.fr-tag--brown-caramel:active, + input[type=button].fr-tag--brown-caramel:active { + background-color: #e1a982; + } + + a[href].fr-tag--brown-opera, + button.fr-tag--brown-opera, + input[type=button].fr-tag--brown-opera { + color: #745b47; + background-color: #f3e2d7; + } + + a[href].fr-tag--brown-opera:hover, + button.fr-tag--brown-opera:hover, + input[type=button].fr-tag--brown-opera:hover { + background-color: #e7bfa0; + } + + a[href].fr-tag--brown-opera:active, + button.fr-tag--brown-opera:active, + input[type=button].fr-tag--brown-opera:active { + background-color: #deaa7e; + } + + a[href].fr-tag--beige-gris-galet, + button.fr-tag--beige-gris-galet, + input[type=button].fr-tag--beige-gris-galet { + color: #6a6156; + background-color: #eee4d9; + } + + a[href].fr-tag--beige-gris-galet:hover, + button.fr-tag--beige-gris-galet:hover, + input[type=button].fr-tag--beige-gris-galet:hover { + background-color: #dbc3a4; + } + + a[href].fr-tag--beige-gris-galet:active, + button.fr-tag--beige-gris-galet:active, + input[type=button].fr-tag--beige-gris-galet:active { + background-color: #c6b094; + } + + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + color: #f5f5fe; + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):hover, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]:not(:disabled):active, + input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem); + } + + button.fr-tag[aria-pressed=true]::after, + input[type=button].fr-tag[aria-pressed=true]::after { + color: #000091; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem); + } + + button.fr-tag[aria-pressed=true]:disabled::after, + input[type=button].fr-tag[aria-pressed=true]:disabled::after { + color: #929292; + } + + button.fr-tag[aria-pressed=true].fr-tag--sm, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:hover, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:active, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + button.fr-tag[aria-pressed=true].fr-tag--sm:disabled, + input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } + + button.fr-tag:disabled, + input[type=button].fr-tag:disabled { + color: #929292; + background-color: #e5e5e5; + } + + a:not([href]).fr-tag { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true], + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem); + } + + .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled, + .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled { + background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem); + } + + .fr-alert { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-alert::before { + color: #fff; + } + + .fr-alert--info { + background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-alert--error { + background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-alert--success { + background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c); + } + + .fr-alert--warning { + background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000); + } + + .fr-notice { + background-color: #eee; + color: #161616; + } + + .fr-notice--info { + background-color: #e8edff; + color: #0063cb; + } + + .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-radio-group input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px); + } + + .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px); + } + + .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio] + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px); + } + + .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label { + background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px); + } + + .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px); + } + + .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-group--sm input[type=radio]:checked:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label { + background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label { + background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + background-color: #fff; + } + + .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px); + background-color: #fff; + } + + .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * { + fill: #929292; + } + + .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-radio-rich input[type=radio]:checked:disabled + label { + background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px); + } + + .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px); + } + + .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio] + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px); + } + + .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label { + background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px); + } + + .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px); + } + + .fr-card { + background-color: #fff; + } + + .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-card--grey { + background-color: #eee; + } + + .fr-card--shadow { + background-color: #fff; + } + + .fr-card--shadow.fr-card--grey { + background-color: #eee; + } + + .fr-card--download:not(.fr-card--no-background) .fr-card__header { + background-color: #f6f6f6; + } + + .fr-card__detail { + color: #666; + line-height: 1rem !important; + } + + .fr-card__title { + color: #161616; + } + + .fr-card__title a[href] { + color: #000091; + } + + .fr-card__title:disabled, + a.fr-card__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-card__detail, + .fr-card__desc { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:checked + label::before { + background-color: var(--background-active-blue-france); + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group input[type=checkbox]:disabled + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg); + } + + .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + background-color: var(--background-disabled-grey); + + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before { + --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>"); + } + + .fr-checkbox-group--error input[type=checkbox] + label, + .fr-checkbox-group--error input[type=checkbox]:checked + label { + color: #ce0500; + } + + .fr-checkbox-group--error input[type=checkbox] + label::before, + .fr-checkbox-group--error input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-checkbox-group--error::before { + background-color: #ce0500; + } + + .fr-checkbox-group--valid input[type=checkbox] + label, + .fr-checkbox-group--valid input[type=checkbox]:checked + label { + color: #18753c; + } + + .fr-checkbox-group--valid input[type=checkbox] + label::before, + .fr-checkbox-group--valid input[type=checkbox]:checked + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } + + .fr-checkbox-group--valid::before { + background-color: #18753c; + } + + .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg); + } + + .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg); + } + + .fr-toggle label { + color: #161616; + } + + .fr-toggle label::before { + color: #000091; + content: ""; + display: block; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle label::after { + color: #000091; + box-shadow: inset 0 0 0 1px #000091; + background-color: #fff; + } + + .fr-toggle input[type=checkbox] { + box-shadow: inset 0 0 0 1px #000091; + } + + .fr-toggle input[type=checkbox]:checked { + background-color: #000091; + } + + .fr-toggle input[type=checkbox]:disabled { + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled:checked { + background-color: #e5e5e5; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + color: #929292; + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-toggle .fr-hint-text { + color: #666; + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-toggle--border-bottom { + box-shadow: inset 0 -1px 0 0 #ddd; + } + + .fr-toggle--error label, + .fr-fieldset--error .fr-toggle label { + color: #ce0500; + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + color: #ce0500; + } + + .fr-toggle--error label::after, + .fr-fieldset--error .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #ce0500; + } + + .fr-toggle--valid label, + .fr-fieldset--valid .fr-toggle label { + color: #18753c; + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + color: #18753c; + } + + .fr-toggle--valid label::after, + .fr-fieldset--valid .fr-toggle label::after { + box-shadow: inset 0 0 0 1px #18753c; + } + + .fr-skiplinks { + background-color: #eee; + } + + .fr-skiplink { + display: none; + } + + .fr-select { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + + /** + * Mixin pour gérer l'état disabled + */ + + /** + * On applique un style lorsque la valeur est automatiquement remplie par le navigateur + * sur les navigateurs webkit. + */ + } + + .fr-fieldset--valid .fr-select, + .fr-select-group--valid .fr-select { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-select, + .fr-select-group--error .fr-select { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-select-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-select-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-select-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-select:disabled { + color: #929292; + box-shadow: inset 0 -2px 0 0 #e5e5e5; + } + + .fr-select:-webkit-autofill, + .fr-select:-webkit-autofill:hover, + .fr-select:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe; + -webkit-text-fill-color: #161616; + } + + .fr-callout { + background-color: #eee; + background-image: linear-gradient(0deg, #6a6af4, #6a6af4); + } + + .fr-callout::before { + color: #161616; + } + + .fr-callout__title { + color: #161616; + } + + .fr-callout--green-tilleul-verveine { + background-image: linear-gradient(0deg, #b7a73f, #b7a73f); + background-color: #fceeac; + } + + .fr-callout--green-bourgeon { + background-image: linear-gradient(0deg, #68a532, #68a532); + background-color: #c9fcac; + } + + .fr-callout--green-emeraude { + background-image: linear-gradient(0deg, #00a95f, #00a95f); + background-color: #c3fad5; + } + + .fr-callout--green-menthe { + background-image: linear-gradient(0deg, #009081, #009081); + background-color: #bafaee; + } + + .fr-callout--green-archipel { + background-image: linear-gradient(0deg, #009099, #009099); + background-color: #c7f6fc; + } + + .fr-callout--blue-ecume { + background-image: linear-gradient(0deg, #465f9d, #465f9d); + background-color: #e9edfe; + } + + .fr-callout--blue-cumulus { + background-image: linear-gradient(0deg, #417dc4, #417dc4); + background-color: #e6eefe; + } + + .fr-callout--purple-glycine { + background-image: linear-gradient(0deg, #a558a0, #a558a0); + background-color: #fee7fc; + } + + .fr-callout--pink-macaron { + background-image: linear-gradient(0deg, #e18b76, #e18b76); + background-color: #fee9e6; + } + + .fr-callout--pink-tuile { + background-image: linear-gradient(0deg, #ce614a, #ce614a); + background-color: #fee9e7; + } + + .fr-callout--yellow-tournesol { + background-image: linear-gradient(0deg, #c8aa39, #c8aa39); + background-color: #feecc2; + } + + .fr-callout--yellow-moutarde { + background-image: linear-gradient(0deg, #c3992a, #c3992a); + background-color: #feebd0; + } + + .fr-callout--orange-terre-battue { + background-image: linear-gradient(0deg, #e4794a, #e4794a); + background-color: #fee9e5; + } + + .fr-callout--brown-cafe-creme { + background-image: linear-gradient(0deg, #d1b781, #d1b781); + background-color: #f7ecdb; + } + + .fr-callout--brown-caramel { + background-image: linear-gradient(0deg, #c08c65, #c08c65); + background-color: #f7ebe5; + } + + .fr-callout--brown-opera { + background-image: linear-gradient(0deg, #bd987a, #bd987a); + background-color: #f7ece4; + } + + .fr-callout--beige-gris-galet { + background-image: linear-gradient(0deg, #aea397, #aea397); + background-color: #f3ede5; + } + + .fr-modal__body { + background-color: #fff; + } + + .fr-modal__title { + color: #161616; + } + + .fr-modal__footer { + background-color: #fff; + } + + .fr-modal__body.fr-scroll-divider .fr-modal__footer { + background-image: linear-gradient(0deg, #ddd, #ddd); + } + + .fr-modal { + display: none; + } + + .fr-navigation { + display: none; + } + + .fr-share .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-share__text { + color: #666; + } + + .fr-share { + display: none; + } + + .fr-footer { + box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd; + display: none; + } + + .fr-footer__content-link { + color: #3a3a3a; + } + + .fr-footer__top-cat { + color: #161616; + } + + .fr-footer__top { + background-color: #f6f6f6; + } + + .fr-footer__bottom { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__bottom .fr-btn { + color: #666; + } + + .fr-footer__bottom-item::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-footer__bottom-link { + color: #666; + } + + .fr-footer__bottom-copy { + color: #666; + } + + .fr-footer__partners { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-footer__partners-title { + color: #3a3a3a; + } + + .fr-footer__partners .fr-footer__logo { + background-color: #fff; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-tile { + background-color: #fff; + } + + .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) { + background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd); + } + + .fr-tile--grey { + background-color: #eee; + } + + .fr-tile--shadow { + background-color: #fff; + } + + .fr-tile--shadow.fr-tile--grey { + background-color: #eee; + } + + .fr-tile__title { + color: #161616; + } + + .fr-tile__title:disabled, + a.fr-tile__title:not([href]) { + color: #929292; + background-color: #e5e5e5; + } + + .fr-tile__title::before { + background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a); + } + + .fr-tile__title a { + color: #000091; + } + + .fr-tile__title a::before { + background-image: linear-gradient(0deg, #000091, #000091); + } + + .fr-tile__title a:not([href]) { + color: #929292; + } + + .fr-tile__title a:not([href])::before { + background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5); + } + + .fr-tile .fr-tile__desc, + .fr-tile .fr-tile__detail, + .fr-tile__desc, + .fr-tile__detail, + .fr-tile--sm .fr-tile__desc, + .fr-tile--sm .fr-tile__detail, + .fr-tile--sm__desc, + .fr-tile--sm__detail { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-translate .fr-translate__btn[aria-expanded=true] { + color: #000091; + background-color: #e3e3fd; + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:hover { + background-color: var(--hover-tint); + } + + .fr-translate .fr-translate__btn[aria-expanded=true]:active { + background-color: var(--active-tint); + } + + .fr-translate .fr-translate__btn { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-transcription::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-transcription__btn { + color: #000091; + } + + .fr-transcription__btn[aria-expanded=true] { + background-color: #e3e3fd; + } + + .fr-transcription__content::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription__footer::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription .fr-modal:not(.fr-modal--opened)::before { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-transcription { + display: none; + } + + .fr-input { + color: #3a3a3a; + background-color: #eee; + box-shadow: inset 0 -2px 0 0 #3a3a3a; + } + + .fr-input::placeholder { + color: #666; + } + + .fr-input::-webkit-contacts-auto-fill-button { + background-color: #161616; + } + + .fr-input::-webkit-contacts-auto-fill-button:hover { + background-color: #343434; + } + + .fr-input::-webkit-contacts-auto-fill-button:active { + background-color: #474747; + } + + .fr-input:disabled { + color: var(--text-disabled-grey); + box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey); + } + + .fr-input:autofill, + .fr-input:autofill:hover, + .fr-input:autofill:focus, + .fr-input:-webkit-autofill, + .fr-input:-webkit-autofill:hover, + .fr-input:-webkit-autofill:focus { + box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff; + -webkit-text-fill-color: #161616; + } + + .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-fieldset--valid .fr-input, + .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--valid .fr-input, + .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-fieldset--error .fr-input, + .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), + .fr-input-group--error .fr-input, + .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-input-group--error::before { + background-image: linear-gradient(0deg, #ce0500, #ce0500); + } + + .fr-input-group--valid::before { + background-image: linear-gradient(0deg, #18753c, #18753c); + } + + .fr-input-group--info::before { + background-image: linear-gradient(0deg, #0063cb, #0063cb); + } + + .fr-search-bar .fr-input { + box-shadow: inset 0 -2px 0 0 #000091; + } + + .fr-search-bar .fr-input--valid { + box-shadow: inset 0 -2px 0 0 #18753c; + } + + .fr-search-bar .fr-input--error { + box-shadow: inset 0 -2px 0 0 #ce0500; + } + + .fr-content-media__caption, + .fr-content-media .fr-link { + color: #666; + } + + .fr-content-media__caption { + font-size: 1rem; + line-height: 1.5rem; + } + + .fr-content-media__caption .fr-link { + font-size: 1rem; + line-height: 1.5rem; + padding: 0 0; + } + + .fr-content-media__caption .fr-link::before, + .fr-content-media__caption .fr-link::after { + --icon-size: 1rem; + } + + .fr-consent-placeholder { + background-color: #eee; + } + + .fr-consent-banner { + background-color: #f6f6f6; + box-shadow: inset 0 0 0 1px #ddd; + display: none; + } + + .fr-consent-manager__header, + .fr-consent-service { + box-shadow: inset 0 -1px 0 0 #ddd; + color: #3a3a3a; + } + + .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before, + .fr-consent-service .fr-radio-group + .fr-radio-group::before { + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-consent-service__title { + color: #161616; + } + + .fr-consent-service .fr-consent-service__collapse-btn { + color: #000091; + } + + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + + /** + * Mixin d'ajout des icones des réseaux sociaux + **/ + .fr-follow { + background-color: #f5f5fe; + } + + .fr-follow .fr-input { + background-color: #fff; + } + + .fr-follow__title { + color: #161616; + } + + .fr-follow__newsletter-legal { + color: #666; + } + + .fr-follow__social .fr-btn { + color: #000091; + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + color: #929292; + } + + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: 0 -1px 0 0 #6a6af4; + } + + .fr-password__btn { + color: #000091; + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + color: #929292; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label { + color: #161616; + } + + .fr-password .fr-password__checkbox input[type=checkbox] + label::before { + background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg); + } + + .fr-header__brand { + background-color: #fff; + flex-wrap: nowrap; + } + + .fr-header__service { + color: #161616; + box-shadow: inset 0 1px 0 0 #ddd; + box-shadow: none; + } + + .fr-header__menu-links::after { + box-shadow: inset 0 1px 0 0 #ddd; + } + + .fr-header__menu-links .fr-btn { + color: #000091; + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links .fr-btn { + color: #000091; + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header__navbar .fr-service__title { + color: #161616; + } + + .fr-header__navbar .fr-btn { + color: #000091; + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + color: #929292; + } + + .fr-header__navbar .fr-btn--menu { + color: #000091; + box-shadow: inset 0 0 0 1px #ddd; + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + color: #929292; + box-shadow: inset 0 0 0 1px #e5e5e5; + } + + .fr-header .fr-modal { + background-color: #fff; + } + + .fr-header__menu { + display: none; + } + + .fr-header__body-row { + padding: 0; + } + + .fr-header__body .fr-header__tools, + .fr-header__body .fr-header__navbar { + display: none; + } + + .fr-header__brand-top { + width: auto; + } +} +@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) { + .fr-btn--secondary { + background-color: transparent; + } + + .fr-btn--secondary:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--secondary:disabled, + a.fr-btn--secondary:not([href]) { + background-color: transparent; + } + + .fr-btn--secondary:disabled:hover, + a.fr-btn--secondary:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--secondary:disabled:active, + a.fr-btn--secondary:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary, + .fr-btn--account { + background-color: transparent; + } + + .fr-btn--tertiary:hover, + .fr-btn--account:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:active, + .fr-btn--account:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary:disabled, + a.fr-btn--tertiary:not([href]), + a.fr-btn--account:not([href]), + .fr-btn--account:disabled { + background-color: transparent; + } + + .fr-btn--tertiary:disabled:hover, + a.fr-btn--tertiary:not([href]):hover, + a.fr-btn--account:not([href]):hover, + .fr-btn--account:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary:disabled:active, + a.fr-btn--tertiary:not([href]):active, + a.fr-btn--account:not([href]):active, + .fr-btn--account:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline, + .fr-btn--close, + .fr-btn--display, + .fr-btn--fullscreen, + .fr-btn--tooltip, + .fr-btn--briefcase, + .fr-btn--team { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:hover, + .fr-btn--close:hover, + .fr-btn--display:hover, + .fr-btn--fullscreen:hover, + .fr-btn--tooltip:hover, + .fr-btn--briefcase:hover, + .fr-btn--team:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:active, + .fr-btn--close:active, + .fr-btn--display:active, + .fr-btn--fullscreen:active, + .fr-btn--tooltip:active, + .fr-btn--briefcase:active, + .fr-btn--team:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-btn--tertiary-no-outline:disabled, + a.fr-btn--tertiary-no-outline:not([href]), + a.fr-btn--close:not([href]), + a.fr-btn--display:not([href]), + a.fr-btn--fullscreen:not([href]), + a.fr-btn--tooltip:not([href]), + a.fr-btn--briefcase:not([href]), + a.fr-btn--team:not([href]), + .fr-btn--close:disabled, + .fr-btn--display:disabled, + .fr-btn--fullscreen:disabled, + .fr-btn--tooltip:disabled, + .fr-btn--briefcase:disabled, + .fr-btn--team:disabled { + background-color: transparent; + } + + .fr-btn--tertiary-no-outline:disabled:hover, + a.fr-btn--tertiary-no-outline:not([href]):hover, + a.fr-btn--close:not([href]):hover, + a.fr-btn--display:not([href]):hover, + a.fr-btn--fullscreen:not([href]):hover, + a.fr-btn--tooltip:not([href]):hover, + a.fr-btn--briefcase:not([href]):hover, + a.fr-btn--team:not([href]):hover, + .fr-btn--close:disabled:hover, + .fr-btn--display:disabled:hover, + .fr-btn--fullscreen:disabled:hover, + .fr-btn--tooltip:disabled:hover, + .fr-btn--briefcase:disabled:hover, + .fr-btn--team:disabled:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-btn--tertiary-no-outline:disabled:active, + a.fr-btn--tertiary-no-outline:not([href]):active, + a.fr-btn--close:not([href]):active, + a.fr-btn--display:not([href]):active, + a.fr-btn--fullscreen:not([href]):active, + a.fr-btn--tooltip:not([href]):active, + a.fr-btn--briefcase:not([href]):active, + a.fr-btn--team:not([href]):active, + .fr-btn--close:disabled:active, + .fr-btn--display:disabled:active, + .fr-btn--fullscreen:disabled:active, + .fr-btn--tooltip:disabled:active, + .fr-btn--briefcase:disabled:active, + .fr-btn--team:disabled:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-tooltip.fr-placement { + z-index: 1000; + } + + .fr-table--bordered tbody tr:nth-child(even) { + background-color: transparent; + } + + .fr-table--bordered tbody tr:nth-child(even):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-table--bordered tbody tr:nth-child(even):active { + background-color: rgba(0, 0, 0, 0.1); + } + + button.fr-tag[aria-pressed=true]:not(:disabled), + input[type=button].fr-tag[aria-pressed=true]:not(:disabled) { + background-color: transparent; + } + + button.fr-tag[aria-pressed=true]:disabled, + input[type=button].fr-tag[aria-pressed=true]:disabled { + background-color: transparent; + } + + .fr-card--shadow { + z-index: 500; + } + + .fr-card--no-background { + background-color: transparent; + } + + .fr-card--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-card--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E"); + } + + .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error label::before, + .fr-fieldset--error .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid label::before, + .fr-fieldset--valid .fr-toggle label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before, + .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E"); + } + + .fr-select { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } + + .fr-select:disabled { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E"); + } + + .fr-modal__body { + z-index: 2000; + } + + .fr-share .fr-btn { + background-color: transparent; + } + + .fr-share .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-share .fr-btn:disabled, + .fr-share a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-share .fr-btn:disabled:hover, + .fr-share a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-share .fr-btn:disabled:active, + .fr-share a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-tile--shadow { + z-index: 500; + } + + .fr-tile--no-background { + background-color: transparent; + } + + .fr-tile--no-background:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-tile--no-background:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-translate__menu .fr-translate__language { + box-shadow: none; + } + + .fr-search-bar .fr-input::-webkit-search-cancel-button { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E"); + } + + .fr-consent-banner { + z-index: 1500; + } + + .fr-consent-service:last-of-type, + .fr-consent-service .fr-consent-service { + box-shadow: none; + } + + .fr-follow__social .fr-btn { + background-color: transparent; + } + + .fr-follow__social .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-follow__social .fr-btn:disabled, + .fr-follow__social a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-follow__social .fr-btn:disabled:hover, + .fr-follow__social a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-follow__social .fr-btn:disabled:active, + .fr-follow__social a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password__btn { + background-color: transparent; + } + + .fr-password__btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password__btn:disabled, + a.fr-password__btn:not([href]) { + background-color: transparent; + } + + .fr-password__btn:disabled:hover, + a.fr-password__btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-password__btn:disabled:active, + a.fr-password__btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-password [data-fr-capslock]::before { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E"); + } + + .fr-header__brand { + z-index: 750; + } + + .fr-header__menu-links .fr-btn { + background-color: transparent; + box-shadow: none; + } + + .fr-header__menu-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__menu-links .fr-btn:disabled, + .fr-header__menu-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__menu-links .fr-btn:disabled:hover, + .fr-header__menu-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__menu-links .fr-btn:disabled:active, + .fr-header__menu-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links .fr-btn:disabled, + .fr-header__tools-links a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links .fr-btn:disabled:hover, + .fr-header__tools-links a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links .fr-btn:disabled:active, + .fr-header__tools-links a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, + .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn:disabled, + .fr-header__navbar a.fr-btn:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn:disabled:hover, + .fr-header__navbar a.fr-btn:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn:disabled:active, + .fr-header__navbar a.fr-btn:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:active { + background-color: rgba(0, 0, 0, 0.1); + } + + .fr-header__navbar .fr-btn--menu:disabled, + .fr-header__navbar a.fr-btn--menu:not([href]) { + background-color: transparent; + } + + .fr-header__navbar .fr-btn--menu:disabled:hover, + .fr-header__navbar a.fr-btn--menu:not([href]):hover { + background-color: rgba(0, 0, 0, 0.05); + } + + .fr-header__navbar .fr-btn--menu:disabled:active, + .fr-header__navbar a.fr-btn--menu:not([href]):active { + background-color: rgba(0, 0, 0, 0.1); + } +} +@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) { + .fr-sidemenu { + box-shadow: none; + } + + .fr-sidemenu__title { + box-shadow: none; + } +} +@media print and (min-width: 48em) { + .fr-sidemenu__inner { + box-shadow: inset -1px 0 0 0 #ddd; + } + + .fr-sidemenu--right .fr-sidemenu__inner { + box-shadow: inset 1px 0 0 0 #ddd; + } + + .fr-follow .fr-grid-row > *:not(:first-child) { + box-shadow: -1px 0 0 0 #6a6af4; + } +} +@media print and (min-width: 62em) { + .fr-header { + background-color: #fff; + } + + .fr-header .fr-header__menu { + box-shadow: inset 0 1px 0 0 #ddd; + } +} +@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) { + .fr-header { + z-index: 750; + } + + .fr-header__brand { + z-index: auto; + background: transparent; + } + + .fr-header__service { + box-shadow: none; + } +} diff --git a/design_system_admin/dsfr/dsfr.print.css.map b/design_system_admin/dsfr/dsfr.print.css.map new file mode 100644 index 0000000000000000000000000000000000000000..49b583a6c4e889f32680f7d1b3cc08d03fd4f440 --- /dev/null +++ b/design_system_admin/dsfr/dsfr.print.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","%3Cinput%20css%209nZenY%3E","file:///Users/ket/Documents/work/dsfr/src/core/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/reset/scheme/_body.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_disabled.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/artwork/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_build-typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/scheme/_heading.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/scheme/_hr.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/tool/_utility.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA;ACAA,gBAAgB;ACAhB;ECSI;ICgCA,sBAAA;IAAA,cAAA;EHpCF;;EIUA;;;;;;;;;;ID0BE,cAAA;EHjCF;;EKEE;IF+BA,aAAA;EH9BF;;EKGE;IF2BA,aAAA;EH3BF;;EKIE;IFuBA,aAAA;EHxBF;;EKKE;IFmBA,aAAA;EHrBF;;EKME;IFeA,aAAA;EHlBF;;EKQI;IFUF,aAAA;EHfF;;EKKI;IFUF,aAAA;EHZF;;EKEI;IFUF,aAAA;EHTF;;EKDI;IFUF,aAAA;EHNF;;EKJI;IFUF,aAAA;EHHF;;EKPI;IFUF,aAAA;EHAF;;EKVI;IFUF,aAAA;EHGF;;EKbI;IFUF,aAAA;EHMF;;EKhBI;IFUF,aAAA;EHSF;;EKnBI;IFUF,aAAA;EHYF;;EKtBI;IFUF,aAAA;EHeF;;EKzBI;IFUF,aAAA;EHkBF;;EK5BI;IFUF,aAAA;EHqBF;;EK/BI;IFUF,aAAA;EHwBF;;EKlCI;IFUF,aAAA;EH2BF;;EKrCI;IFUF,aAAA;EH8BF;;EKxCI;IFUF,aAAA;EHiCF;;EKpCE;IFGA,aAAA;EHoCF;;EMdA;;;;;;;;;;;IHtBE,cAAA;EHuCF;;EO5DA;;;;;;IJqBE,cAAA;EH0CF;;EQ3EA;ILiCE,mDAAA;EH6CF;;EStEA;;INyBE,sBAAA;EHgDF;;EU5DQ;IPYN,mDAAA;EHmDF;;EW5FF;IACE,aAAA;EX8FA;;EY/FF;;;;IAIE,uBAAA;IACA,kBAAA;EZiGA;;EY9FF;IACE,UAAA;IACA,SAAA;EZgGA;;EY7FF;;ICaE,0BAAA;IAGE,8BAAA;ICIA,2BAfE;Ed8FJ;;EehHF;IF0BE,eAAA;IAGE,mBAAA;EbyFF;;EStGA;INyBE,gDAAA;EHkFF;;EgB9GE;Ib4BA,cAAA;EHqFF;;EgB9GI;IbyBF,yBAAA;EHwFF;;EiBhIA;IACE,0BAAA;EjBkIF;;EiB/HA;IACE,sCAAA;IACA,8BAAA;IAEA,mBAAA;IHwBA,aAfE;EdwHJ;;EkBlIA;IfiCE,cAAA;IAAA,sBAAA;EHuGF;;EkBpIE;If6BA,cAAA;IAAA,yBAAA;EH2GF;;EkBnIE;IfwBA,cAAA;IAAA,yBAAA;EH+GF;;EkBlIE;IfmBA,cAAA;IAAA,yBAAA;EHmHF;;EkBjIE;IfcA,cAAA;IAAA,yBAAA;EHuHF;;EkBhIE;IfSA,cAAA;IAAA,yBAAA;EH2HF;;EmB1JI;IhB+BF,cAAA;IAAA,yBAAA;EH+HF;;EmB9JI;IhB+BF,cAAA;IAAA,yBAAA;EHmIF;;EmBlKI;IhB+BF,cAAA;IAAA,yBAAA;EHuIF;;EmBtKI;IhB+BF,cAAA;IAAA,yBAAA;EH2IF;;EmB1KI;IhB+BF,cAAA;IAAA,yBAAA;EH+IF;;EmB9KI;IhB+BF,cAAA;IAAA,yBAAA;EHmJF;;EmBlLI;IhB+BF,cAAA;IAAA,yBAAA;EHuJF;;EmBtLI;IhB+BF,cAAA;IAAA,yBAAA;EH2JF;;EmB1LI;IhB+BF,cAAA;IAAA,yBAAA;EH+JF;;EmB9LI;IhB+BF,cAAA;IAAA,yBAAA;EHmKF;;EmBlMI;IhB+BF,cAAA;IAAA,yBAAA;EHuKF;;EmBtMI;IhB+BF,cAAA;IAAA,yBAAA;EH2KF;;EmB1MI;IhB+BF,cAAA;IAAA,yBAAA;EH+KF;;EmB9MI;IhB+BF,cAAA;IAAA,yBAAA;EHmLF;;EmBlNI;IhB+BF,cAAA;IAAA,yBAAA;EHuLF;;EmBtNI;IhB+BF,cAAA;IAAA,yBAAA;EH2LF;;EmB1NI;IhB+BF,cAAA;IAAA,yBAAA;EH+LF;;EoBhOA;IjBiCE,WAAA;EHoMF;;EqB5OA;IACE,uDAAA;ErB8OF;;EsBvOA;InBgCE,yBAAA;IAAA,cAAA;EH6MF;;EuBpPE;IpBuFA,yBAAA;EHgKF;;EuBvPE;IpBuFA,yBAAA;EHmKF;;EwBzOS;;IrBsBP,cAAA;IAAA,yBAAA;EHuNF;;EsBhPE;InByBA,cAAA;IAAA,mCAAA;EH2NF;;EwBjPS;;IrBsBP,cAAA;IAAA,mCAAA;EH4OF;;EsBhQE;;InBoBA,cAAA;IAAA,gCAAA;EH6PF;;EwBnRS;;;;IrBsBP,cAAA;IAAA,mCAAA;EH8QF;;EsB5RE;;;;;;;InBcA,cAAA;EH8RF;;EwBpTS;;;;;;;;;;;;;;IrBsBP,cAAA;EH8SF;;EyBtVA;;;;;;;IAOE,6BAAA;EzB+VF;;E0B9VA;IvBgCE,yBAAA;IAAA,cAAA;EHoUF;;EwB1VS;;IrBsBP,yBAAA;IAAA,cAAA;EHwUF;;E2BvWI;IxB+BF,cAAA;IUfF,eAAA;IAGE,mBAAA;EbuVF;;E2BtWI;IxB2BF,WAAA;IUfF,eAAA;IAGE,mBAAA;Eb0VF;;E4B/WA;IzBiCE,mDAAA;EH2VF;;ESpXA;INyBE,cAAA;EH8VF;;ESvXA;INyBE,cAAA;EHiWF;;ES1XA;INyBE,cAAA;EHoWF;;ES7XA;INyBE,cAAA;EHuWF;;EShYA;INyBE,cAAA;EH0WF;;ESnYA;INyBE,cAAA;EH6WF;;EStYA;INyBE,cAAA;EHgXF;;ESzYA;INyBE,cAAA;EHmXF;;ES5YA;INyBE,cAAA;EHsXF;;ES/YA;INyBE,cAAA;EHyXF;;ESlZA;INyBE,cAAA;EH4XF;;ESrZA;INyBE,cAAA;EH+XF;;ESxZA;INyBE,cAAA;EHkYF;;ES3ZA;INyBE,cAAA;EHqYF;;ES9ZA;INyBE,cAAA;EHwYF;;ESjaA;INyBE,cAAA;EH2YF;;ESpaA;INyBE,cAAA;EH8YF;;ESvaA;INyBE,cAAA;EHiZF;;E4BraE;IzBoBA,WAAA;EHoZF;;E6B5bA;;;IhByBA,eAAA;IAGE,mBAAA;EbsaF;;E8B1bA;I3BgCE,WAAA;I4BxCF,aAAA;E/BucA;;EgCpcA;I7BqCE,cAAA;EHkaF;;EiChcI;;;;I9B8BF,cAAA;EH0aF;;EiClcI;;;;I9BwBF,cAAA;EH6aF;;EiC/bI;;;;I9BkBF,cAAA;EHgbF;;EiC5bI;;;;;;;;I9BYF,cAAA;EHubF;;EiC5bA;I9BKE,cAAA;EH0bF;;EiC5bE;I9BEA,cAAA;EH6bF;;EiC3bE;I9BFA,cAAA;EHgcF;;EiC1bE;I9BNA,cAAA;EHmcF;;EiCxbI;;I9BXF,cAAA;EHscF;;EiCpbA;;I9BlBE,WAAA;IUfF,eAAA;IAGE,mBAAA;EbsdF;;EiClbE;I9BxBA,cAAA;EH6cF;;EiCjbE;I9B5BA,cAAA;EHgdF;;EiChbE;I9BhCA,cAAA;EHmdF;;EiC5aI;;;I9BvCF,cAAA;EHwdF;;EiCxaM;;;I9BhDJ,cAAA;EH6dF;;EiCraE;I9BxDA,cAAA;EHgeF;;EiCpaE;;I9B5DA,yDAAA;EHmeF;;EiClaE;;I9BjEA,cAAA;EHseF;;EiChaE;;I9BtEA,yDAAA;EHyeF;;EiC9ZE;;I9B3EA,cAAA;EH4eF;;EiC5ZE;;I9BhFA,yDAAA;EH+eF;;EiC1ZE;;I9BrFA,cAAA;EHkfF;;EkCrhBA;I/BmCE,cAAA;EH4fF;;EmCxhBE;IhC4BA,WAAA;EH+fF;;EmCvhBE;IhCwBA,WAAA;EHkgBF;;EmCthBE;IhCoBA,2SAAA;EHqgBF;;EoC7iBA;;IvByBA,eAAA;IAGE,mBAAA;EbqhBF;;EqCziBA;IlCgCE,cAAA;ImCxCF,aAAA;EtCsjBA;;EqCxiBI;IlC0BF,oTAAA;EHwhBF;;EqC9iBI;IlCsBF,gTAAA;EH6hBF;;EuC9jBA;IpCiCE,cAAA;EHuiBF;;EuCrkBE;IpC8BA,WAAA;EH0iBF;;EuClkBE;IpCwBA,cAAA;EH6iBF;;EuCjkBE;IpCoBA,gCAAA;EHgjBF;;EwC9kBA;IrC8BE,uDAAA;;IqCxBA;;;;;MAAA;IChBF,aAAA;EzCmmBA;;EkC9lBA;I/BmCE,cAAA;IAAA,iCAAA;EHskBF;;EwChlBI;;IrCUF,cAAA;EHilBF;;ES1mBA;INyBE,kDAAA;EHolBF;;ES7mBA;INyBE,iCAAA;EHulBF;;EShnBA;INyBE,2BAAA;EH0lBF;;EwChkBE;;IrC1BA,cAAA;EHymBF;;EgC9oBA;;I7BqCE,cAAA;EH4mBF;;ESroBA;;INyBE,yBAAA;EH+mBF;;EwCxkBI;IrCvCF,yBAAA;EHonBF;;E0CrpBA;IvCiCE,yDAAA;EH8nBF;;EmB7pBI;IhB+BF,yDAAA;EHioBF;;EmBhqBI;IhB+BF,yDAAA;EHooBF;;EmBnqBI;IhB+BF,yDAAA;EHuoBF;;EmBtqBI;IhB+BF,yDAAA;EH0oBF;;EmBzqBI;IhB+BF,yDAAA;EH6oBF;;EmB5qBI;IhB+BF,yDAAA;EHgpBF;;EmB/qBI;IhB+BF,yDAAA;EHmpBF;;EmBlrBI;IhB+BF,yDAAA;EHspBF;;EmBrrBI;IhB+BF,yDAAA;EHypBF;;EmBxrBI;IhB+BF,yDAAA;EH4pBF;;EmB3rBI;IhB+BF,yDAAA;EH+pBF;;EmB9rBI;IhB+BF,yDAAA;EHkqBF;;EmBjsBI;IhB+BF,yDAAA;EHqqBF;;EmBpsBI;IhB+BF,yDAAA;EHwqBF;;EmBvsBI;IhB+BF,yDAAA;EH2qBF;;EmB1sBI;IhB+BF,yDAAA;EH8qBF;;EmB7sBI;IhB+BF,yDAAA;EHirBF;;E2CjtBA;IxCgCE,iCAAA;;IwCzBA;;KAAA;E3CktBF;;ESltBA;INyBE,6EAAA;EH4rBF;;E2CltBE;IxCsBA,4JAAA;IAAA,0BAAA;EHgsBF;;E2CltBI;IxCkBF,yBAAA;IAAA,cAAA;EHosBF;;E2CjtBI;IxCaF,kKAAA;IAAA,sBAAA;IAAA,cAAA;EHysBF;;EwB/tBS;IrBsBP,cAAA;IAAA,yBAAA;EH6sBF;;E4C5uBA;IzC+BE,cAAA;EHktBF;;EgCvvBA;I7BqCE,yBAAA;IAAA,cAAA;EHstBF;;EuB7vBE;IpBuFA,yBAAA;EHyqBF;;EuBhwBE;IpBuFA,yBAAA;EH4qBF;;EwBlvBS;;;;IrBsBP,cAAA;EH+tBF;;E6ChwBA;I1CiCE,sBAAA;I2CxCF,aAAA;E9C4wBA;;EkCvwBA;I/BmCE,cAAA;EHuuBF;;E6ChwBE;I1CyBA,cAAA;EH0uBF;;E+C3wBA;IA4CE,2DAAA;E/CuuBF;;E+ClxBE;I5CgCA,cAAA;EHqvBF;;E+CjxBE;I5C4BA,yDAAA;IAAA,sBAAA;IAAA,cAAA;EH0vBF;;E+C/wBE;I5CqBA,yBAAA;EH6vBF;;E+C/wBI;I5CkBF,sBAAA;EHgwBF;;EmB/xBI;I4BgCA,2DAAA;E/CkwBJ;;E+C/wBI;I5CYF,yDAAA;IAAA,yBAAA;EHuwBF;;E+C9wBI;I5COF,yBAAA;EH0wBF;;E+C9wBM;I5CIJ,yBAAA;EH6wBF;;E+CzwBQ;I5CJN,yDAAA;EHgxBF;;EmB/yBI;I4BgCA,2DAAA;E/CkxBJ;;E+C/xBI;I5CYF,yDAAA;IAAA,yBAAA;EHuxBF;;E+C9xBI;I5COF,yBAAA;EH0xBF;;E+C9xBM;I5CIJ,yBAAA;EH6xBF;;E+CzxBQ;I5CJN,yDAAA;EHgyBF;;EmB/zBI;I4BgCA,2DAAA;E/CkyBJ;;E+C/yBI;I5CYF,yDAAA;IAAA,yBAAA;EHuyBF;;E+C9yBI;I5COF,yBAAA;EH0yBF;;E+C9yBM;I5CIJ,yBAAA;EH6yBF;;E+CzyBQ;I5CJN,yDAAA;EHgzBF;;EmB/0BI;I4BgCA,2DAAA;E/CkzBJ;;E+C/zBI;I5CYF,yDAAA;IAAA,yBAAA;EHuzBF;;E+C9zBI;I5COF,yBAAA;EH0zBF;;E+C9zBM;I5CIJ,yBAAA;EH6zBF;;E+CzzBQ;I5CJN,yDAAA;EHg0BF;;EmB/1BI;I4BgCA,2DAAA;E/Ck0BJ;;E+C/0BI;I5CYF,yDAAA;IAAA,yBAAA;EHu0BF;;E+C90BI;I5COF,yBAAA;EH00BF;;E+C90BM;I5CIJ,yBAAA;EH60BF;;E+Cz0BQ;I5CJN,yDAAA;EHg1BF;;EmB/2BI;I4BgCA,2DAAA;E/Ck1BJ;;E+C/1BI;I5CYF,yDAAA;IAAA,yBAAA;EHu1BF;;E+C91BI;I5COF,yBAAA;EH01BF;;E+C91BM;I5CIJ,yBAAA;EH61BF;;E+Cz1BQ;I5CJN,yDAAA;EHg2BF;;EmB/3BI;I4BgCA,2DAAA;E/Ck2BJ;;E+C/2BI;I5CYF,yDAAA;IAAA,yBAAA;EHu2BF;;E+C92BI;I5COF,yBAAA;EH02BF;;E+C92BM;I5CIJ,yBAAA;EH62BF;;E+Cz2BQ;I5CJN,yDAAA;EHg3BF;;EmB/4BI;I4BgCA,2DAAA;E/Ck3BJ;;E+C/3BI;I5CYF,yDAAA;IAAA,yBAAA;EHu3BF;;E+C93BI;I5COF,yBAAA;EH03BF;;E+C93BM;I5CIJ,yBAAA;EH63BF;;E+Cz3BQ;I5CJN,yDAAA;EHg4BF;;EmB/5BI;I4BgCA,2DAAA;E/Ck4BJ;;E+C/4BI;I5CYF,yDAAA;IAAA,yBAAA;EHu4BF;;E+C94BI;I5COF,yBAAA;EH04BF;;E+C94BM;I5CIJ,yBAAA;EH64BF;;E+Cz4BQ;I5CJN,yDAAA;EHg5BF;;EmB/6BI;I4BgCA,2DAAA;E/Ck5BJ;;E+C/5BI;I5CYF,yDAAA;IAAA,yBAAA;EHu5BF;;E+C95BI;I5COF,yBAAA;EH05BF;;E+C95BM;I5CIJ,yBAAA;EH65BF;;E+Cz5BQ;I5CJN,yDAAA;EHg6BF;;EmB/7BI;I4BgCA,2DAAA;E/Ck6BJ;;E+C/6BI;I5CYF,yDAAA;IAAA,yBAAA;EHu6BF;;E+C96BI;I5COF,yBAAA;EH06BF;;E+C96BM;I5CIJ,yBAAA;EH66BF;;E+Cz6BQ;I5CJN,yDAAA;EHg7BF;;EmB/8BI;I4BgCA,2DAAA;E/Ck7BJ;;E+C/7BI;I5CYF,yDAAA;IAAA,yBAAA;EHu7BF;;E+C97BI;I5COF,yBAAA;EH07BF;;E+C97BM;I5CIJ,yBAAA;EH67BF;;E+Cz7BQ;I5CJN,yDAAA;EHg8BF;;EmB/9BI;I4BgCA,2DAAA;E/Ck8BJ;;E+C/8BI;I5CYF,yDAAA;IAAA,yBAAA;EHu8BF;;E+C98BI;I5COF,yBAAA;EH08BF;;E+C98BM;I5CIJ,yBAAA;EH68BF;;E+Cz8BQ;I5CJN,yDAAA;EHg9BF;;EmB/+BI;I4BgCA,2DAAA;E/Ck9BJ;;E+C/9BI;I5CYF,yDAAA;IAAA,yBAAA;EHu9BF;;E+C99BI;I5COF,yBAAA;EH09BF;;E+C99BM;I5CIJ,yBAAA;EH69BF;;E+Cz9BQ;I5CJN,yDAAA;EHg+BF;;EmB//BI;I4BgCA,2DAAA;E/Ck+BJ;;E+C/+BI;I5CYF,yDAAA;IAAA,yBAAA;EHu+BF;;E+C9+BI;I5COF,yBAAA;EH0+BF;;E+C9+BM;I5CIJ,yBAAA;EH6+BF;;E+Cz+BQ;I5CJN,yDAAA;EHg/BF;;EmB/gCI;I4BgCA,2DAAA;E/Ck/BJ;;E+C//BI;I5CYF,yDAAA;IAAA,yBAAA;EHu/BF;;E+C9/BI;I5COF,yBAAA;EH0/BF;;E+C9/BM;I5CIJ,yBAAA;EH6/BF;;E+Cz/BQ;I5CJN,yDAAA;EHggCF;;EmB/hCI;I4BgCA,2DAAA;E/CkgCJ;;E+C/gCI;I5CYF,yDAAA;IAAA,yBAAA;EHugCF;;E+C9gCI;I5COF,yBAAA;EH0gCF;;E+C9gCM;I5CIJ,yBAAA;EH6gCF;;E+CzgCQ;I5CJN,yDAAA;EHghCF;;E+ClgCM;I5CdJ,mDAAA;;I4CiBM,8CAAA;E/CmgCR;;EgD5jCA;;InCyBA,eAAA;IAGE,mBAAA;EbkjCF;;EiDtkCA;I9CgCE,cAAA;IAAA,sBAAA;EH4iCF;;EkD7jCA;I/CiBE,cAAA;IAAA,yBAAA;EHgjCF;;EuBvlCE;IpBuFA,yBAAA;EHmgCF;;EuB1lCE;IpBuFA,yBAAA;EHsgCF;;EiD7kCE;I9CuBA,cAAA;IAAA,yBAAA;EH0jCF;;EuBjmCE;IpBuFA,yBAAA;EH6gCF;;EuBpmCE;IpBuFA,yBAAA;EHghCF;;EiD9kCE;;;I9CcA,cAAA;IAAA,yBAAA;EHskCF;;EuB7mCE;;;IpBuFA,yBAAA;EH2hCF;;EuBlnCE;;;IpBuFA,yBAAA;EHgiCF;;EmB/mCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHslCF;;EuB7nCE;;;IpBuFA,yBAAA;EH2iCF;;EuBloCE;;;IpBuFA,yBAAA;EHgjCF;;EmB/nCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsmCF;;EuB7oCE;;;IpBuFA,yBAAA;EH2jCF;;EuBlpCE;;;IpBuFA,yBAAA;EHgkCF;;EmB/oCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsnCF;;EuB7pCE;;;IpBuFA,yBAAA;EH2kCF;;EuBlqCE;;;IpBuFA,yBAAA;EHglCF;;EmB/pCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsoCF;;EuB7qCE;;;IpBuFA,yBAAA;EH2lCF;;EuBlrCE;;;IpBuFA,yBAAA;EHgmCF;;EmB/qCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHspCF;;EuB7rCE;;;IpBuFA,yBAAA;EH2mCF;;EuBlsCE;;;IpBuFA,yBAAA;EHgnCF;;EmB/rCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsqCF;;EuB7sCE;;;IpBuFA,yBAAA;EH2nCF;;EuBltCE;;;IpBuFA,yBAAA;EHgoCF;;EmB/sCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsrCF;;EuB7tCE;;;IpBuFA,yBAAA;EH2oCF;;EuBluCE;;;IpBuFA,yBAAA;EHgpCF;;EmB/tCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHssCF;;EuB7uCE;;;IpBuFA,yBAAA;EH2pCF;;EuBlvCE;;;IpBuFA,yBAAA;EHgqCF;;EmB/uCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHstCF;;EuB7vCE;;;IpBuFA,yBAAA;EH2qCF;;EuBlwCE;;;IpBuFA,yBAAA;EHgrCF;;EmB/vCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsuCF;;EuB7wCE;;;IpBuFA,yBAAA;EH2rCF;;EuBlxCE;;;IpBuFA,yBAAA;EHgsCF;;EmB/wCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsvCF;;EuB7xCE;;;IpBuFA,yBAAA;EH2sCF;;EuBlyCE;;;IpBuFA,yBAAA;EHgtCF;;EmB/xCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHswCF;;EuB7yCE;;;IpBuFA,yBAAA;EH2tCF;;EuBlzCE;;;IpBuFA,yBAAA;EHguCF;;EmB/yCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsxCF;;EuB7zCE;;;IpBuFA,yBAAA;EH2uCF;;EuBl0CE;;;IpBuFA,yBAAA;EHgvCF;;EmB/zCI;;;IhB+BF,cAAA;IAAA,yBAAA;EHsyCF;;EuB70CE;;;IpBuFA,yBAAA;EH2vCF;;EuBl1CE;;;IpBuFA,yBAAA;EHgwCF;;EmB/0CI;;;IhB+BF,cAAA;IAAA,yBAAA;EHszCF;;EuB71CE;;;IpBuFA,yBAAA;EH2wCF;;EuBl2CE;;;IpBuFA,yBAAA;EHgxCF;;EmB/1CI;;;IhB+BF,cAAA;IAAA,yBAAA;EHs0CF;;EuB72CE;;;IpBuFA,yBAAA;EH2xCF;;EuBl3CE;;;IpBuFA,yBAAA;EHgyCF;;EmB/2CI;;;IhB+BF,cAAA;IAAA,yBAAA;EHs1CF;;EuB73CE;;;IpBuFA,yBAAA;EH2yCF;;EuBl4CE;;;IpBuFA,yBAAA;EHgzCF;;EiD/1CM;;I9CDJ,cAAA;IAAA,oGAAA;EHq2CF;;EuB54CE;;IpBuFA,oGAAA;EHi0CF;;EuBx5CE;;IpBuFA,oGAAA;EHu0CF;;ESh5CA;;INyBE,cAAA;EH63CF;;EwBn5CS;;IrBsBP,oGAAA;EHm4CF;;ES55CA;;INyBE,cAAA;EH+4CF;;EiD53CM;;I9CnBJ,kGAAA;EHq5CF;;EuB57CE;;IpBuFA,kGAAA;EHy2CF;;EuBh8CE;;IpBuFA,kGAAA;EH62CF;;EwBn7CS;;IrBsBP,kGAAA;EHi6CF;;EwBv7CS;;IrBsBP,cAAA;IAAA,yBAAA;EHw6CF;;EiDv4CE;I9CjCA,cAAA;IAAA,yBAAA;EH86CF;;EkD/7CA;;I/CiBE,kGAAA;EHo7CF;;EuB39CE;;IpBuFA,kGAAA;EHw4CF;;EuB/9CE;;IpBuFA,kGAAA;EH44CF;;EwBl9CS;;IrBsBP,kGAAA;EHg8CF;;EmDj+CA;IhDiCE,6NAAA;EHq8CF;;ES99CA;INyBE,WAAA;EHw8CF;;EmDl+CE;IhD0BA,6NAAA;EH28CF;;EmDj+CE;IhDsBA,6NAAA;EH88CF;;EmDh+CE;IhDkBA,6NAAA;EHi9CF;;EmD/9CE;IhDcA,6NAAA;EHo9CF;;EoDr/CA;IjDiCE,sBAAA;IAAA,cAAA;EH09CF;;EoDv/CE;IjD6BA,yBAAA;IAAA,cAAA;EH89CF;;EqD3/CI;IlD6BF,mFAAA;EHm+CF;;EqD3/CM;IlDwBJ,mFAAA;EHs+CF;;EqDx/CM;IlDkBJ,kIAAA;EHy+CF;;EqDt/CQ;IlDaN,kIAAA;EH4+CF;;EqD7+CQ;IlDCN,mFAAA;EH++CF;;EqD5+CQ;IlDHN,kIAAA;EHk/CF;;EqDr+CQ;IlDbN,mFAAA;EHq/CF;;EqDp+CQ;IlDjBN,kIAAA;EHw/CF;;EqD79CQ;IlD3BN,mFAAA;EH2/CF;;EqD59CQ;IlD/BN,kIAAA;EH8/CF;;EqDr9CQ;IlDzCN,mFAAA;EHigDF;;EqDp9CQ;IlD7CN,kIAAA;EHogDF;;EsDliDI;InD8BF,gFAAA;EHugDF;;EsDhiDM;InDyBJ,gFAAA;EH0gDF;;EsD7hDM;InDmBJ,+HAAA;EH6gDF;;EsD3hDQ;InDcN,+HAAA;EHghDF;;EsDlhDQ;InDEN,gFAAA;EHmhDF;;EsDjhDQ;InDFN,+HAAA;EHshDF;;EsD1gDQ;InDZN,gFAAA;EHyhDF;;EsDzgDQ;InDhBN,+HAAA;EH4hDF;;EsDlgDQ;InD1BN,gFAAA;EH+hDF;;EsDjgDQ;InD9BN,+HAAA;EHkiDF;;EsD1/CQ;InDxCN,gFAAA;EHqiDF;;EsDz/CQ;InD5CN,+HAAA;EHwiDF;;EuDtkDE;IpD8BA,4JAAA;IAAA,sBAAA;EH4iDF;;EuDpkDI;IpDwBF,4NAAA;IAAA,sBAAA;EHgjDF;;EuDlkDM;IpDkBJ,4NAAA;EHmjDF;;EuDhkDQ;IpDaN,aAAA;EHsjDF;;EuD5jDM;IpDMJ,mSAAA;EHyjDF;;EuD3jDM;IpDEJ,8KAAA;EH4jDF;;EuDzjDQ;IpDHN,mSAAA;EH+jDF;;EuDxjDQ;IpDPN,8KAAA;EHkkDF;;EuD/iDQ;IpDnBN,4NAAA;EHqkDF;;EuD9iDQ;IpDvBN,mSAAA;EHwkDF;;EuDviDQ;IpDjCN,4NAAA;EH2kDF;;EuDtiDQ;IpDrCN,mSAAA;EH8kDF;;EuD/hDQ;IpD/CN,4NAAA;EHilDF;;EuD9hDQ;IpDnDN,mSAAA;EHolDF;;EuDvhDQ;IpD7DN,4NAAA;EHulDF;;EuDthDQ;IpDjEN,2QAAA;EH0lDF;;EwDznDA;IrD+BE,sBAAA;EH+lDF;;EwD3nDE;IrD4BA,4JAAA;EHkmDF;;EwD1nDE;IrDwBA,sBAAA;EHqmDF;;EwDznDE;IrDoBA,sBAAA;EHwmDF;;EwDxnDE;IrDgBA,sBAAA;EHknDF;;EwDznDI;IrDOF,yBAAA;EHkoDF;;EwDpoDE;IrDEA,WAAA;IsDlCA,4BAAA;EzDyqDF;;EwDroDE;IrDFA,cAAA;EH4oDF;;EwDvoDI;IrDLF,cAAA;EH+oDF;;EwBrqDS;;IrBsBP,cAAA;IAAA,yBAAA;EHmpDF;;EyD3rDA;;I5CyBA,eAAA;IAGE,mBAAA;EbqqDF;;ESlrDA;INyBE,yiCAAA;EHiqDF;;ES1rDA;INyBE,sDAAA;IAAA,y9BAAA;;IuDNA,4MAAA;E1D4qDF;;EuB7sDE;ImCwCE,4MAAA;E1DwqDJ;;ESlsDA;INyBE,y8BAAA;EH4qDF;;ESrsDA;INyBE,iDAAA;;IuDNA,4MAAA;E1DsrDF;;EuBvtDE;ImCwCE,yMAAA;E1DkrDJ;;E2D1qDM;;IxDTJ,cAAA;EHurDF;;EShtDA;;INyBE,y2BAAA;EH2rDF;;ESptDA;INyBE,yBAAA;EH8rDF;;E2DpqDM;;IxD1BJ,cAAA;EHksDF;;ES3tDA;;INyBE,y4BAAA;EHssDF;;ES/tDA;INyBE,yBAAA;EHysDF;;ESluDA;INyBE,y2BAAA;EH4sDF;;ESruDA;INyBE,y4BAAA;EH+sDF;;E4D9uDE;IzD+BA,cAAA;EHotDF;;ES7uDA;INyBE,cAAA;IMtBE,WoDjBc;IpDqBd,cAAA;IIGJ,eAAA;IAGE,mBAAA;EbmuDF;;EShvDA;INyBE,cAAA;IAAA,mCAAA;IAAA,sBAAA;EHmuDF;;E4DnvDE;IzDgBA,mCAAA;EHwuDF;;E4DrvDI;IzDaF,yBAAA;EH2uDF;;EwBjwDS;IrBsBP,mCAAA;EH0vDF;;E4DxvDM;IzDFJ,yBAAA;EH6vDF;;EStxDA;INyBE,cAAA;EH4wDF;;ESryDA;INyBE,cAAA;IAAA,mCAAA;EHuxDF;;E4D1vDE;IzD7BA,WAAA;IUfF,eAAA;IAGE,mBAAA;EbwyDF;;E4D3vDE;IzDjCA,iCAAA;EHiyDF;;E4DzvDE;;IzDxCA,cAAA;EHuyDF;;ESh0DA;;INyBE,cAAA;EH2yDF;;ESp0DA;;INyBE,mCAAA;EHuzDF;;E4DrvDE;;IzDlEA,cAAA;EHm0DF;;ES51DA;;INyBE,cAAA;EHu0DF;;ESh2DA;;INyBE,mCAAA;EHm1DF;;E8Dp3DA;I3DiCE,sBAAA;EH02DF;;E+Dn5DF;IACE,aAAA;E/Dq5DA;;EgE74DA;I7DgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;;I6DGA;;KAAA;;IAOA;;;KAAA;EhEi3DF;;EgEp5DE;;I7DyBA,oCAAA;EHq4DF;;EgEz5DE;;I7DoBA,oCAAA;EH04DF;;ESn6DA;INyBE,yDAAA;EH+4DF;;ESx6DA;INyBE,yDAAA;EHo5DF;;ES76DA;INyBE,yDAAA;EHy5DF;;EwB/6DS;IrBsBP,cAAA;IAAA,oCAAA;EH+5DF;;EgEj5DE;;;I7DdA,gEAAA;IAAA,gCAAA;EH06DF;;EiE38DA;I9DiCE,sBAAA;IAAA,yDAAA;EHg7DF;;ESz8DA;INyBE,cAAA;EHm7DF;;EkCt9DA;I/BmCE,cAAA;EHs7DF;;EmBr9DI;IhB+BF,yDAAA;IAAA,yBAAA;EH07DF;;EmBz9DI;IhB+BF,yDAAA;IAAA,yBAAA;EH87DF;;EmB79DI;IhB+BF,yDAAA;IAAA,yBAAA;EHk8DF;;EmBj+DI;IhB+BF,yDAAA;IAAA,yBAAA;EHs8DF;;EmBr+DI;IhB+BF,yDAAA;IAAA,yBAAA;EH08DF;;EmBz+DI;IhB+BF,yDAAA;IAAA,yBAAA;EH88DF;;EmB7+DI;IhB+BF,yDAAA;IAAA,yBAAA;EHk9DF;;EmBj/DI;IhB+BF,yDAAA;IAAA,yBAAA;EHs9DF;;EmBr/DI;IhB+BF,yDAAA;IAAA,yBAAA;EH09DF;;EmBz/DI;IhB+BF,yDAAA;IAAA,yBAAA;EH89DF;;EmB7/DI;IhB+BF,yDAAA;IAAA,yBAAA;EHk+DF;;EmBjgEI;IhB+BF,yDAAA;IAAA,yBAAA;EHs+DF;;EmBrgEI;IhB+BF,yDAAA;IAAA,yBAAA;EH0+DF;;EmBzgEI;IhB+BF,yDAAA;IAAA,yBAAA;EH8+DF;;EmB7gEI;IhB+BF,yDAAA;IAAA,yBAAA;EHk/DF;;EmBjhEI;IhB+BF,yDAAA;IAAA,yBAAA;EHs/DF;;EmBrhEI;IhB+BF,yDAAA;IAAA,yBAAA;EH0/DF;;EkCvhEA;I/B6BE,sBAAA;EH+/DF;;EkE1hEE;I/D2BA,cAAA;EHygEF;;EkEhiEE;I/DuBA,sBAAA;EH8gEF;;EkEhiEI;I/DkBF,mDAAA;EHmhEF;;EmE5jEF;IACE,aAAA;EnEgkEA;;EoEjkEF;IACE,aAAA;EpEqkEA;;EqE7jEE;IlEgCA,cAAA;IAAA,gCAAA;EHmiEF;;EwBzjES;;IrBsBP,cAAA;IAAA,mCAAA;EHojEF;;EqEhlEE;IlE4BA,WAAA;EHokEF;;EsE7mEF;IACE,aAAA;EtEinEA;;EuE1mEA;IpEiCE,0DAAA;IqExCF,aAAA;ExEsnEA;;EuE5mEE;IpE8BA,cAAA;EHilEF;;EuE3mEE;IpE0BA,cAAA;EHolEF;;EuE1mEE;IpEsBA,yBAAA;EHulEF;;EuEzmEE;IpEkBA,gCAAA;EH0lEF;;EuE1mEI;IpEgBF,WAAA;EH6lEF;;EStnEA;INyBE,gCAAA;EHgmEF;;EuErmEE;IpEKA,WAAA;EHmmEF;;EuEpmEE;IpECA,WAAA;EHsmEF;;EuEnmEE;IpEHA,gCAAA;EHymEF;;EuEnmEI;IpENF,cAAA;EH4mEF;;EuElmEI;IpEVF,sBAAA;IAAA,gCAAA;EHgnEF;;EyE/oEA;ItE+BE,sBAAA;EHwnEF;;EyEppEE;ItE4BA,4JAAA;EH2nEF;;EyEnpEE;ItEwBA,sBAAA;EH8nEF;;EyElpEE;ItEoBA,sBAAA;EHioEF;;EyEjpEE;ItEgBA,sBAAA;EH2oEF;;EyEnpEE;ItEQA,cAAA;EH2pEF;;EwBjrES;;IrBsBP,cAAA;IAAA,yBAAA;EH+pEF;;ESxrEA;INyBE,yDAAA;EHkqEF;;EyElqEI;ItEAF,cAAA;EHqqEF;;ES9rEA;INyBE,yDAAA;EHwqEF;;EyEjqEM;ItEPJ,cAAA;EH2qEF;;ESpsEA;INyBE,yDAAA;EH8qEF;;E0EptEA;;;;;;;;I7DuBA,eAAA;IAGE,mBAAA;EbqsEF;;E2ExtEI;IxE+BF,cAAA;IAAA,yBAAA;EH+rEF;;E4ElsEA;IACE,mCAAA;E5EosEF;;E4EjsEA;IACE,oCAAA;E5EmsEF;;E6E7uEA;IhEyBA,eAAA;IAGE,mBAAA;Eb4tEF;;ESzuEA;INyBE,gCAAA;EHqtEF;;E8EjvEE;I3E4BA,cAAA;EHwtEF;;E8EjvEI;I3EyBF,yBAAA;EH2tEF;;ESpvEA;INyBE,gCAAA;EH8tEF;;ESvvEA;INyBE,gCAAA;EHiuEF;;ES1vEA;INyBE,gCAAA;EHouEF;;E+E7wEF;IACE,aAAA;E/E+wEA;;EgFvwEA;I7EgCE,cAAA;IAAA,sBAAA;IAAA,oCAAA;EH8uEF;;EiFvwEA;I9EyBE,WAAA;EHivEF;;EiFpwEA;I9EmBE,yBAAA;EHovEF;;EuB3xEE;IpBuFA,yBAAA;EHusEF;;EuB9xEE;IpBuFA,yBAAA;EH0sEF;;EwBhxES;IrBsBP,gCAAA;IAAA,wDAAA;EH8vEF;;EkFjyEA;;;;;;I/EmCE,gEAAA;IAAA,gCAAA;EHkwEF;;EgFjwEI;I7EDF,oCAAA;EHqwEF;;EgF7vEI;;;;I7ERF,oCAAA;EH0wEF;;EgF1vEI;;;;I7EhBF,oCAAA;EH+wEF;;ESxyEA;INyBE,yDAAA;EHkxEF;;ES3yEA;INyBE,yDAAA;EHqxEF;;ES9yEA;INyBE,yDAAA;EHwxEF;;EmFxzEE;IhFgCA,oCAAA;EH6xEF;;EmF1zEI;IhF6BF,oCAAA;EHgyEF;;EmFzzEI;IhFyBF,oCAAA;EHmyEF;;EoFn0EE;;IjFgCA,WAAA;EH8yEF;;EqFt1EA;IxEyBA,eAAA;IAGE,mBAAA;Eb8zEF;;EsFp1EE;ICKF,eAAA;IACA,mBAFc;IAsBd,YAAA;EvF+zEA;;ESh1EA;;I+E0BE,iBAAA;ExFyzEF;;EyF11EA;ItFgCE,sBAAA;EH+zEF;;EyF31EA;ItF4BE,yBAAA;IAAA,gCAAA;IuFvCA,aAAA;E1F02EF;;EyFz1EA;;ItFsBE,iCAAA;IAAA,cAAA;EH+0EF;;ESx2EA;;INyBE,gCAAA;EHm1EF;;EyF11EE;ItFOA,cAAA;EHw1EF;;EyFt1EE;ItFFA,cAAA;EHm2EF;;E2Fv4EF;;IAAA;;EAWA;;IAAA;ECRE;IzFiCE,yBAAA;EHm3EF;;E4Fj5EE;IzF8BA,sBAAA;EHs3EF;;E4Fh5EE;IzF0BA,cAAA;EHy3EF;;E4F94EI;IzFqBF,WAAA;EH43EF;;E4F34EI;IzFeF,cAAA;EH+3EF;;EwBr5ES;;IrBsBP,cAAA;EH+4EF;;E4Fz5EE;IzFUA,8BAAA;EH+5EF;;E6F97EE;I1F+BA,cAAA;EHy6EF;;EwB/7ES;;IrBsBP,cAAA;EHy7EF;;E6F58EM;I1FmBJ,cAAA;EH88EF;;ESv+EA;INyBE,yiCAAA;EHi9EF;;E8F/+EE;I3F8BA,sBAAA;I4FxBA,iBAAA;E/F8+EF;;E8Fh/EE;I3F0BA,cAAA;IAAA,gCAAA;I4FhBA,gBAAA;E/Fi/EF;;ES1/EA;INyBE,gCAAA;EH2/EF;;E8F//EI;I3FIF,cAAA;EH8/EF;;EwBphFS;;IrBsBP,cAAA;EH8gFF;;E8F3gFI;I3FHF,cAAA;EHmiFF;;EwBzjFS;;IrBsBP,cAAA;EHmjFF;;E8F3iFM;I3FRJ,cAAA;IAAA,gCAAA;EHokFF;;EwB1lFS;;IrBsBP,cAAA;IAAA,mCAAA;EHqlFF;;EkCxnFA;I/BmCE,cAAA;EHqmFF;;E8FhlFI;I3FrBF,cAAA;EHwmFF;;EwB9nFS;;IrBsBP,cAAA;EHwnFF;;E8FhmFM;I3FxBJ,cAAA;IAAA,gCAAA;EHyoFF;;EwB/pFS;;IrBsBP,cAAA;IAAA,mCAAA;EH0pFF;;E8FtnFE;I3FpCA,sBAAA;EH+qFF;;E+FvtFA;IACE,aAAA;E/F2tFF;;E+FvtFE;IjF2BA,UAfE;Ed8sFJ;;E+FttFE;;IAEE,aAAA;E/FwtFJ;;E+FjtFE;IACE,WAAA;E/FstFJ;AAznFF;AgGxGI;E1EOA;InBwGE,6BAAA;EHiJJ;;EG9IM;IACE,qCAAA;EHgJR;;EG7IM;IACE,oCAAA;EH+IR;;EwB5PS;;IrBqGL,6BAAA;EHkKJ;;EG/JM;;IACE,qCAAA;EHiKR;;EG9JM;;IACE,oCAAA;EHgKR;;EsB3QE;;InBmGE,6BAAA;EHmLJ;;EGhLM;;IACE,qCAAA;EHkLR;;EG/KM;;IACE,oCAAA;EHiLR;;EwB9RS;;;;IrBqGL,6BAAA;EHoMJ;;EGjMM;;;;IACE,qCAAA;EHmMR;;EGhMM;;;;IACE,oCAAA;EHkMR;;EsBvSE;;;;;;;InB6FE,6BAAA;EHoNJ;;EGjNM;;;;;;;IACE,qCAAA;EHmNR;;EGhNM;;;;;;;IACE,oCAAA;EHkNR;;EwB/TS;;;;;;;;;;;;;;IrBqGL,6BAAA;EHoOJ;;EGjOM;;;;;;;;;;;;;;IACE,qCAAA;EHmOR;;EGhOM;;;;;;;;;;;;;;IACE,oCAAA;EHkOR;;EqCtVE;I4DHI,aAAA;EjGmjBN;;E+CjgBQ;I5C6DJ,6BAAA;EH08BJ;;EGv8BM;IACE,qCAAA;EHy8BR;;EGt8BM;IACE,oCAAA;EHw8BR;;EiD9hCM;;I9C8EF,6BAAA;EH4xCJ;;EwBj4CS;;IrBqGL,6BAAA;EH0zCJ;;EwD75CE;IyCZI,YAAA;EjG6oDN;;EwDznDE;IrD2FE,6BAAA;EHwiDJ;;EGriDM;IACE,qCAAA;EHuiDR;;EGpiDM;IACE,oCAAA;EHsiDR;;EStpDA;IiDcM,8PAAA;E1DuuDN;;ESrvDA;IiDcM,4PAAA;E1D2vDN;;ESzwDA;IiDcM,0NAAA;E1DgwDN;;ES9wDA;IiDcM,4PAAA;E1D6wDN;;ES3xDA;IiDcM,0NAAA;E1DkxDN;;EShyDA;IiDcM,8PAAA;E1D4xDN;;ES1yDA;;IiDcM,8PAAA;E1D4zDN;;ES10DA;;IiDcM,4PAAA;E1Dw0DN;;ESt1DA;;IiDcM,8PAAA;E1Dw1DN;;ESt2DA;;IiDcM,4PAAA;E1Do2DN;;EgEz3DA;INqBM,6OAAA;E1D24DN;;EwBt5DS;IkCWH,6OAAA;E1D+6DN;;EkCj8DA;I+DHM,aAAA;EjGoiEN;;EqEpiEE;IlE+GE,6BAAA;EHy9DJ;;EGt9DM;IACE,qCAAA;EHw9DR;;EGr9DM;IACE,oCAAA;EHu9DR;;EwBpkES;;IrBqGL,6BAAA;EH0+DJ;;EGv+DM;;IACE,qCAAA;EHy+DR;;EGt+DM;;IACE,oCAAA;EHw+DR;;EyEnlEE;IwBZI,YAAA;EjGsqEN;;EyElpEE;ItE2FE,6BAAA;EHikEJ;;EG9jEM;IACE,qCAAA;EHgkER;;EG7jEM;IACE,oCAAA;EH+jER;;E2E7qEI;IxE6PE,gBAAA;EHo+DN;;EmF/tEI;IzBUE,wZAAA;E1DmzEN;;EyFp0EA;IQJM,aAAA;EjGw2EN;;EyF30EE;;ItFyOI,gBAAA;EHwnEN;;E4F72EI;IzF8FA,6BAAA;EHqzEJ;;EGlzEM;IACE,qCAAA;EHozER;;EGjzEM;IACE,oCAAA;EHmzER;;EwBh6ES;;IrBqGL,6BAAA;EHq0EJ;;EGl0EM;;IACE,qCAAA;EHo0ER;;EGj0EM;;IACE,oCAAA;EHm0ER;;E6Fz7EE;I1F8GE,6BAAA;EH+1EJ;;EG51EM;IACE,qCAAA;EH81ER;;EG31EM;IACE,oCAAA;EH61ER;;EwB18ES;;IrBqGL,6BAAA;EH+2EJ;;EG52EM;;IACE,qCAAA;EH82ER;;EG32EM;;IACE,oCAAA;EH62ER;;ES79EA;IiDcM,+ZAAA;E1Do9EN;;E8Fv+EE;IGFI,YAAA;EjG2/EN;;E8F/9EI;I3FmFA,6BAAA;IAuJE,gBAAA;EH6xEN;;EGj7EM;IACE,qCAAA;EHm7ER;;EGh7EM;IACE,oCAAA;EHk7ER;;EwB/hFS;;IrBqGL,6BAAA;EHo8EJ;;EGj8EM;;IACE,qCAAA;EHm8ER;;EGh8EM;;IACE,oCAAA;EHk8ER;;E8FthFI;I3F4EA,6BAAA;EHy9EJ;;EGt9EM;IACE,qCAAA;EHw9ER;;EGr9EM;IACE,oCAAA;EHu9ER;;EwBpkFS;;IrBqGL,6BAAA;EHy+EJ;;EGt+EM;;IACE,qCAAA;EHw+ER;;EGr+EM;;IACE,oCAAA;EHu+ER;;E8FtjFM;I3FuEF,6BAAA;EH0/EJ;;EGv/EM;IACE,qCAAA;EHy/ER;;EGt/EM;IACE,oCAAA;EHw/ER;;EwBrmFS;;IrBqGL,6BAAA;EH2gFJ;;EGxgFM;;IACE,qCAAA;EH0gFR;;EGvgFM;;IACE,oCAAA;EHygFR;;E8F3kFI;I3F0DA,6BAAA;EH8hFJ;;EG3hFM;IACE,qCAAA;EH6hFR;;EG1hFM;IACE,oCAAA;EH4hFR;;EwBzoFS;;IrBqGL,6BAAA;EH8iFJ;;EG3iFM;;IACE,qCAAA;EH6iFR;;EG1iFM;;IACE,oCAAA;EH4iFR;;E8F3mFM;I3FuDF,6BAAA;EH+jFJ;;EG5jFM;IACE,qCAAA;EH8jFR;;EG3jFM;IACE,oCAAA;EH6jFR;;EwB1qFS;;IrBqGL,6BAAA;EHglFJ;;EG7kFM;;IACE,qCAAA;EH+kFR;;EG5kFM;;IACE,oCAAA;EH8kFR;AA97EF;AgGvQI;ExDEF;IrCoQM,gBAAA;EH0VN;;EkCnmBA;I/ByQM,gBAAA;EHqWN;AAVF;AkG3lBI;E1DsCA;IrCZA,iCAAA;EH+lBF;;EwC3kBM;IrCpBJ,gCAAA;EHomBF;;E4F9mBE;IzFUA,8BAAA;EHo6EF;AAp0DF;AkG1nBI;EJLF;I3F+BE,sBAAA;EHs+EF;;E8Fx8EE;I3F9BA,gCAAA;EH0qFF;AAnMF;AgGvgFI;EFCF;IGDM,YAAA;EjG2gFN;;E8F7/EI;IKhBA,aAAA;IACA,uBAAA;EnGkhFJ;;E8F//EI;I3FoPE,gBAAA;EHgxEN;AAVF","file":"dsfr.print.css","sourcesContent":[null,"@charset \"UTF-8\";\n@media print {\n body {\n background-color: #fff;\n color: #3a3a3a;\n }\n a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, textarea:disabled, video:not([href]), audio:not([href]) {\n color: #929292;\n }\n .fr-artwork-decorative {\n fill: #ececfe;\n }\n .fr-artwork-minor {\n fill: #e1000f;\n }\n .fr-artwork-major {\n fill: #000091;\n }\n .fr-artwork-background {\n fill: #f6f6f6;\n }\n .fr-artwork-motif {\n fill: #e5e5e5;\n }\n .fr-artwork--green-tilleul-verveine .fr-artwork-minor {\n fill: #b7a73f;\n }\n .fr-artwork--green-bourgeon .fr-artwork-minor {\n fill: #68a532;\n }\n .fr-artwork--green-emeraude .fr-artwork-minor {\n fill: #00a95f;\n }\n .fr-artwork--green-menthe .fr-artwork-minor {\n fill: #009081;\n }\n .fr-artwork--green-archipel .fr-artwork-minor {\n fill: #009099;\n }\n .fr-artwork--blue-ecume .fr-artwork-minor {\n fill: #465f9d;\n }\n .fr-artwork--blue-cumulus .fr-artwork-minor {\n fill: #417dc4;\n }\n .fr-artwork--purple-glycine .fr-artwork-minor {\n fill: #a558a0;\n }\n .fr-artwork--pink-macaron .fr-artwork-minor {\n fill: #e18b76;\n }\n .fr-artwork--pink-tuile .fr-artwork-minor {\n fill: #ce614a;\n }\n .fr-artwork--yellow-tournesol .fr-artwork-minor {\n fill: #c8aa39;\n }\n .fr-artwork--yellow-moutarde .fr-artwork-minor {\n fill: #c3992a;\n }\n .fr-artwork--orange-terre-battue .fr-artwork-minor {\n fill: #e4794a;\n }\n .fr-artwork--brown-cafe-creme .fr-artwork-minor {\n fill: #d1b781;\n }\n .fr-artwork--brown-caramel .fr-artwork-minor {\n fill: #c08c65;\n }\n .fr-artwork--brown-opera .fr-artwork-minor {\n fill: #bd987a;\n }\n .fr-artwork--beige-gris-galet .fr-artwork-minor {\n fill: #aea397;\n }\n [disabled] .fr-artwork * {\n fill: #929292;\n }\n .fr-h6, .fr-h5, .fr-h4, .fr-h3, .fr-h2, .fr-h1, .fr-display-xs, .fr-display-sm, .fr-display-md, .fr-display-lg, .fr-display-xl {\n color: #161616;\n }\n h6, h5, h4, h3, h2, h1 {\n color: #161616;\n }\n hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-hr-or::before, .fr-hr-or::after {\n background-color: #ddd;\n }\n .fr-hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-no-print {\n display: none;\n }\n h1,\n h2,\n h3,\n h4 {\n page-break-after: avoid;\n break-after: avoid;\n }\n p {\n orphans: 3;\n widows: 3;\n }\n .fr-text--sm,\n .fr-text--xs {\n font-size: 1rem !important;\n line-height: 1.5rem !important;\n margin: var(--text-spacing);\n }\n}\n@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}\n@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}\n@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}\n@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}\n@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}\n@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}\n@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}\n@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}\n@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}\n@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}\n@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}\n@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}\n@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}\n@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}\n@media print {\n .fr-navigation {\n display: none;\n }\n}\n@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}\n@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}\n@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}\n@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}\n@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}\n@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _core-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Scheme : Reset body\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin _core-reset-body-scheme($legacy: false) {\n @if (map-get($reset-settings, body)) {\n body {\n @include color.background(default grey, (legacy:$legacy));\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","////\n/// Core Tool : Action disabled\n/// @group core\n////\n\n@mixin disabled-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $disabled: map-get($setting, disabled);\n $selector: map-get($setting, selector);\n @if $disabled {\n $selectors: append($selectors, nest($selector, map-get($disabled, selector)), 'comma');\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n","////\n/// Core Module : Artwork\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _core-artwork-scheme($legacy: false) {\n #{selector.ns(artwork)} {\n &-decorative {\n @include color.fill(artwork decorative blue-france, (legacy: $legacy));\n }\n\n &-minor {\n @include color.fill(artwork minor red-marianne, (legacy: $legacy));\n }\n\n &-major {\n @include color.fill(artwork major blue-france, (legacy: $legacy));\n }\n\n &-background {\n @include color.fill(artwork background grey, (legacy: $legacy));\n }\n\n &-motif {\n @include color.fill(artwork motif grey, (legacy: $legacy));\n }\n\n @include color.accentuate {\n #{selector.ns(artwork-minor)} {\n @include color.fill(artwork minor accent, (legacy: $legacy));\n }\n }\n }\n\n [disabled] {\n #{selector.ns(artwork)} * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@function typography-selector($type, $name, $is-modifier: false, $alt: null) {\n $base: '';\n $separator: '-';\n\n @if $is-modifier {\n $separator: '--';\n }\n\n @if $type != heading {\n $base: '#{$type + $separator}';\n }\n\n $selectors: (ns('#{$base + $name}'));\n\n @if $alt != null {\n $selectors: append($selectors, ns('#{$base + $alt}'), 'comma');\n }\n\n @return $selectors;\n}\n\n@mixin build-utillity-typography() {\n @if $text-utilities {\n @each $name, $variation in $title-settings {\n $type: display;\n @if is-heading($name) {\n $type: heading;\n }\n\n #{typography-selector($type, $name, true, map-get($variation, alt))} {\n @include title-style($name, true, true, null, true);\n }\n }\n\n #{ns(text--alt)} {\n @include font-family(alt, true);\n }\n }\n\n @if $title-utilities {\n @each $name, $variation in $text-settings {\n #{typography-selector(text, $name, true, map-get($variation, alt))} {\n @include text-style($name, true, true, null, true);\n }\n }\n }\n}\n\n@mixin title-selector() {\n $titles: ();\n @each $name, $variation in $title-settings {\n $type: display;\n @if is-heading($name) {\n $type: heading;\n }\n\n $titles: append($titles, typography-selector($type, $name, false, map-get($variation, alt)), comma);\n }\n #{$titles} {\n @content;\n }\n}\n\n@mixin generate-margin-vars() {\n :root {\n @each $name, $margin in $text-spacing {\n --#{$name}-spacing: #{space($margin)};\n }\n }\n}\n","////\n/// Core Scheme : Reset headings\n/// @group core\n////\n\n@use 'sass:list';\n@use 'module/color';\n@use 'module/typography';\n\n@mixin _core-typography-scheme-heading($legacy: false) {\n @include title-selector {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n $titles: ();\n @each $title, $variation in ($title-settings) {\n @if typography.is-heading($title) {\n $titles: list.append($titles, $title, comma);\n }\n }\n #{$titles} {\n @include color.text(title grey, (legacy: $legacy));\n }\n}\n","////\n/// Core scheme : Display hr\n/// @group core\n////\n\n@use '../../../../../module/color';\n\n@mixin _core-display-hr-scheme($legacy: false) {\n hr {\n @include build-hr-scheme($legacy);\n }\n\n #{ns(hr)} {\n &-or {\n @include _pseudo(before after) {\n @include color.background(border default grey, (legacy:$legacy));\n }\n }\n }\n\n @include build-utility(display, hr) {\n @include build-hr-scheme($legacy);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool\n/// @group core\n////\n\n@mixin build-utility($category, $name, $modifier: null) {\n // Récupération des variables depuis src/variables.scss\n $utilityVars: map-get($variables, $category);\n\n @if map-get($variables, $category) != null {\n $utilityVars: to-map(map-get($utilityVars, $name));\n $breakpointsVars: map-get($utilityVars, 'breakpoints');\n\n // breakpoints: all = xs, sm, md, lg, xl\n $breakpointsList: if($breakpointsVars == all, map-keys($breakpoints), $breakpointsVars);\n @if ($breakpointsList == null) { $breakpointsList: first; } // default: first\n\n // si l'utilitaire n'est pas désactivé\n @if (map-get($utilityVars, 1) != false and map-get($utilityVars, active) != false) {\n @each $bp in $breakpointsList {\n $mod: '-#{$bp}';\n @if ($bp == xs or $bp == first) {\n $bp: first;\n $mod: '';\n }\n @if $modifier {\n $mod: #{$mod + '-' + $modifier};\n }\n @include respond-from($bp) {\n #{ns($name)}#{$mod} {\n @content;\n }\n }\n }\n }\n }\n}\n","#{ns(no-print)} {\n display: none;\n}\n","h1,\nh2,\nh3,\nh4 {\n page-break-after: avoid;\n break-after: avoid;\n}\n\np {\n orphans: 3;\n widows: 3;\n}\n\n#{ns(text)}--sm,\n#{ns(text)}--xs {\n @include text-style(md, true, true, null, true);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","#{ns(skiplink)} {\n display: none;\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(modal)} {\n display: none;\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","#{ns(footer)} {\n display: none;\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Follow Tool\n/// @group follow\n////\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image($icon, before);\n }\n }\n}\n\n/**\n* Mixin d'ajout des icones des réseaux sociaux\n**/\n@mixin build-follow-social-icons-legacy() {\n @each $name, $icon in $follow-icons {\n #{ns('btn--' + $name)} {\n @include icon-image-legacy($icon, before);\n }\n }\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file diff --git a/design_system_admin/dsfr/dsfr.print.min.css b/design_system_admin/dsfr/dsfr.print.min.css new file mode 100644 index 0000000000000000000000000000000000000000..054e2d9004be60f05f09752c1a7fbaf1be016971 --- /dev/null +++ b/design_system_admin/dsfr/dsfr.print.min.css @@ -0,0 +1,3 @@ +/*! + * DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) + */@media print{body{background-color:#fff;color:#3a3a3a}a:not([href]),audio:not([href]),button:disabled,input:disabled,input[type=checkbox]:disabled,input[type=checkbox]:disabled+label,input[type=radio]:disabled,input[type=radio]:disabled+label,textarea:disabled,video:not([href]){color:#929292}.fr-artwork-decorative{fill:#ececfe}.fr-artwork-minor{fill:#e1000f}.fr-artwork-major{fill:#000091}.fr-artwork-background{fill:#f6f6f6}.fr-artwork-motif{fill:#e5e5e5}.fr-artwork--green-tilleul-verveine .fr-artwork-minor{fill:#b7a73f}.fr-artwork--green-bourgeon .fr-artwork-minor{fill:#68a532}.fr-artwork--green-emeraude .fr-artwork-minor{fill:#00a95f}.fr-artwork--green-menthe .fr-artwork-minor{fill:#009081}.fr-artwork--green-archipel .fr-artwork-minor{fill:#009099}.fr-artwork--blue-ecume .fr-artwork-minor{fill:#465f9d}.fr-artwork--blue-cumulus .fr-artwork-minor{fill:#417dc4}.fr-artwork--purple-glycine .fr-artwork-minor{fill:#a558a0}.fr-artwork--pink-macaron .fr-artwork-minor{fill:#e18b76}.fr-artwork--pink-tuile .fr-artwork-minor{fill:#ce614a}.fr-artwork--yellow-tournesol .fr-artwork-minor{fill:#c8aa39}.fr-artwork--yellow-moutarde .fr-artwork-minor{fill:#c3992a}.fr-artwork--orange-terre-battue .fr-artwork-minor{fill:#e4794a}.fr-artwork--brown-cafe-creme .fr-artwork-minor{fill:#d1b781}.fr-artwork--brown-caramel .fr-artwork-minor{fill:#c08c65}.fr-artwork--brown-opera .fr-artwork-minor{fill:#bd987a}.fr-artwork--beige-gris-galet .fr-artwork-minor{fill:#aea397}[disabled] .fr-artwork *{fill:#929292}.fr-display-lg,.fr-display-md,.fr-display-sm,.fr-display-xl,.fr-display-xs,.fr-h1,.fr-h2,.fr-h3,.fr-h4,.fr-h5,.fr-h6,h1,h2,h3,h4,h5,h6{color:#161616}hr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-hr-or:after,.fr-hr-or:before{background-color:#ddd}.fr-hr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-no-print{display:none}h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}p{orphans:3;widows:3}.fr-text--sm,.fr-text--xs{font-size:1rem!important;line-height:1.5rem!important;margin:var(--text-spacing)}.fr-upload{font-size:1rem;line-height:1.5rem}.fr-accordion:before{box-shadow:inset 0 1px 0 0 #ddd,0 1px 0 0 #ddd}.fr-accordion__btn{color:#000091}.fr-accordion__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-accordion__btn:after{transform:rotate(-180deg)}.fr-accordion .fr-collapse:not(.fr-collapse--expanded){--collapse-max-height:none!important;--collapse:inherit!important;padding:1rem;visibility:visible}.fr-badge{background-color:#eee;color:#3a3a3a}.fr-badge--info{background-color:#e8edff;color:#0063cb}.fr-badge--error{background-color:#ffe9e9;color:#ce0500}.fr-badge--success{background-color:#b8fec9;color:#18753c}.fr-badge--warning{background-color:#ffe9e6;color:#b34000}.fr-badge--new{background-color:#feebd0;color:#695240}.fr-badge--green-tilleul-verveine{background-color:#fceeac;color:#66673d}.fr-badge--green-bourgeon{background-color:#c9fcac;color:#447049}.fr-badge--green-emeraude{background-color:#c3fad5;color:#297254}.fr-badge--green-menthe{background-color:#bafaee;color:#37635f}.fr-badge--green-archipel{background-color:#c7f6fc;color:#006a6f}.fr-badge--blue-ecume{background-color:#e9edfe;color:#2f4077}.fr-badge--blue-cumulus{background-color:#e6eefe;color:#3558a2}.fr-badge--purple-glycine{background-color:#fee7fc;color:#6e445a}.fr-badge--pink-macaron{background-color:#fee9e6;color:#8d533e}.fr-badge--pink-tuile{background-color:#fee9e7;color:#a94645}.fr-badge--yellow-tournesol{background-color:#feecc2;color:#716043}.fr-badge--yellow-moutarde{background-color:#feebd0;color:#695240}.fr-badge--orange-terre-battue{background-color:#fee9e5;color:#755348}.fr-badge--brown-cafe-creme{background-color:#f7ecdb;color:#685c48}.fr-badge--brown-caramel{background-color:#f7ebe5;color:#845d48}.fr-badge--brown-opera{background-color:#f7ece4;color:#745b47}.fr-badge--beige-gris-galet{background-color:#f3ede5;color:#6a6156}.fr-logo{color:#000}.fr-logo:after{background-position:0 calc(100% + 1.875rem)!important}.fr-btn{background-color:#000091;color:#f5f5fe}.fr-btn:hover{background-color:#1212ff}.fr-btn:active{background-color:#2323ff}.fr-btn:disabled,a.fr-btn:not([href]){background-color:#e5e5e5;color:#929292}.fr-btn--secondary{box-shadow:inset 0 0 0 1px #000091;color:#000091}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--account,.fr-btn--tertiary{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{color:#000091}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){color:#929292}.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--secondary,.fr-btn--tertiary,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}.fr-connect{background-color:#000091;color:#f5f5fe}.fr-connect:disabled,a.fr-connect:not([href]){background-color:#e5e5e5;color:#929292}.fr-connect-group .fr-connect+p a{color:#000091;font-size:1rem;line-height:1.5rem}.fr-connect-group p{color:#666;font-size:1rem;line-height:1.5rem}.fr-quote{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-quote:before{color:#6a6af4}.fr-quote--green-tilleul-verveine:before{color:#b7a73f}.fr-quote--green-bourgeon:before{color:#68a532}.fr-quote--green-emeraude:before{color:#00a95f}.fr-quote--green-menthe:before{color:#009081}.fr-quote--green-archipel:before{color:#009099}.fr-quote--blue-ecume:before{color:#465f9d}.fr-quote--blue-cumulus:before{color:#417dc4}.fr-quote--purple-glycine:before{color:#a558a0}.fr-quote--pink-macaron:before{color:#e18b76}.fr-quote--pink-tuile:before{color:#ce614a}.fr-quote--yellow-tournesol:before{color:#c8aa39}.fr-quote--yellow-moutarde:before{color:#c3992a}.fr-quote--orange-terre-battue:before{color:#e4794a}.fr-quote--brown-cafe-creme:before{color:#d1b781}.fr-quote--brown-caramel:before{color:#c08c65}.fr-quote--brown-opera:before{color:#bd987a}.fr-quote--beige-gris-galet:before{color:#aea397}.fr-quote__source{color:#666}.fr-quote cite,.fr-quote figcaption li,.fr-quote__author{font-size:1rem;line-height:1.5rem}.fr-breadcrumb{color:#666;display:none}.fr-breadcrumb__link[aria-current]:not([aria-current=false]){color:#3a3a3a}.fr-input-group--valid label,.fr-range-group--valid label,.fr-select-group--valid label,.fr-upload-group--valid label{color:#18753c}.fr-input-group--error label,.fr-range-group--error label,.fr-select-group--error label,.fr-upload-group--error label{color:#ce0500}.fr-input-group--info label,.fr-range-group--info label,.fr-select-group--info label,.fr-upload-group--info label{color:#0063cb}.fr-input-group--disabled .fr-hint-text,.fr-input-group--disabled label,.fr-range-group--disabled .fr-hint-text,.fr-range-group--disabled label,.fr-select-group--disabled .fr-hint-text,.fr-select-group--disabled label,.fr-upload-group--disabled .fr-hint-text,.fr-upload-group--disabled label{color:#929292}.fr-label{color:#161616}.fr-label--error{color:#ce0500}.fr-label--success{color:#18753c}.fr-label--info{color:#0063cb}.fr-label--disabled,.fr-label--disabled .fr-hint-text{color:#929292}.fr-hint-text,.fr-message{color:#666;font-size:1rem;line-height:1.5rem}.fr-message--error{color:#ce0500}.fr-message--valid{color:#18753c}.fr-message--info{color:#0063cb}.fr-fieldset input:disabled+label,.fr-fieldset input:disabled+label .fr-hint-text,.fr-fieldset input:disabled+label+.fr-hint-text,.fr-fieldset:disabled .fr-fieldset__legend,.fr-fieldset:disabled .fr-hint-text,.fr-fieldset:disabled .fr-label{color:#929292}.fr-fieldset__legend{color:#161616}.fr-fieldset--error,.fr-fieldset--error .fr-fieldset__legend{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-fieldset--error .fr-fieldset__legend,.fr-fieldset--error .fr-label{color:#ce0500}.fr-fieldset--valid,.fr-fieldset--valid .fr-fieldset__legend{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-fieldset--valid .fr-fieldset__legend,.fr-fieldset--valid .fr-label{color:#18753c}.fr-fieldset--info,.fr-fieldset--info .fr-fieldset__legend{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-fieldset--info .fr-fieldset__legend,.fr-fieldset--info .fr-label{color:#0063cb}.fr-stepper__title{color:#161616}.fr-stepper__details,.fr-stepper__state{color:#666}.fr-stepper__steps{background-image:repeating-linear-gradient(to right,#000091 0,#000091 var(--active-inner),transparent var(--active-inner),transparent var(--active-outer)),repeating-linear-gradient(to right,#eee 0,#eee var(--default-inner),transparent var(--default-inner),transparent var(--default-outer))}.fr-stepper__details,.fr-stepper__state{font-size:1rem;line-height:1.5rem}.fr-tooltip{color:#3a3a3a;display:none}.fr-tooltip.fr-placement--top{background-image:conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from -33.69deg at 50% 100%,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}.fr-tooltip.fr-placement--bottom{background-image:conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#fff 0deg,#fff 67.38deg,transparent 67.38deg),conic-gradient(from 146.31deg at 50% 0,transparent 0deg,#ddd 0deg,#ddd 67.38deg,transparent 67.38deg),linear-gradient(90deg,#ddd,#ddd),linear-gradient(90deg,#fff,#fff)}.fr-link{color:#000091}.fr-link__detail{color:#666}.fr-links-group li::marker{color:#000091}.fr-links-group--bordered{box-shadow:inset 0 0 0 1px #ddd}.fr-sidemenu{box-shadow:inset 0 -1px 0 0 #ddd,inset 0 1px 0 0 #ddd;display:none}.fr-sidemenu__title{box-shadow:inset 0 -1px 0 0 #ddd;color:#161616}.fr-sidemenu__item .fr-sidemenu__btn,.fr-sidemenu__item .fr-sidemenu__link{color:#161616}.fr-sidemenu__item:before{box-shadow:0 -1px 0 0 #ddd,inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:first-child:before{box-shadow:inset 0 -1px 0 0 #ddd}.fr-sidemenu__item:last-child:before{box-shadow:0 -1px 0 0 #ddd}.fr-sidemenu__btn,.fr-sidemenu__btn[aria-current]:not([aria-current=false]),.fr-sidemenu__link,.fr-sidemenu__link[aria-current]:not([aria-current=false]){color:#000091}.fr-sidemenu__btn[aria-current]:not([aria-current=false]):before,.fr-sidemenu__link[aria-current]:not([aria-current=false]):before{background-color:#000091}.fr-sidemenu__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-highlight{background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-highlight--green-tilleul-verveine{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-highlight--green-bourgeon{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-highlight--green-emeraude{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-highlight--green-menthe{background-image:linear-gradient(0deg,#009081,#009081)}.fr-highlight--green-archipel{background-image:linear-gradient(0deg,#009099,#009099)}.fr-highlight--blue-ecume{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-highlight--blue-cumulus{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-highlight--purple-glycine{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-highlight--pink-macaron{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-highlight--pink-tuile{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-highlight--yellow-tournesol{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-highlight--yellow-moutarde{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-highlight--orange-terre-battue{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-highlight--brown-cafe-creme{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-highlight--brown-caramel{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-highlight--brown-opera{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-highlight--beige-gris-galet{background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-tabs{box-shadow:inset 0 -1px 0 0 #ddd}.fr-tabs:before{box-shadow:inset 0 1px 0 0 #ddd,inset 1px 0 0 0 #ddd,inset -1px 0 0 0 #ddd}.fr-tabs__tab{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);box-shadow:0 2px 0 0 #fff}.fr-tabs__tab:not([aria-selected=true]){background-color:#e3e3fd;color:#161616}.fr-tabs__tab[aria-selected=true]:not(:disabled){background-color:#fff;background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd);color:#000091}.fr-tabs__tab:disabled{background-color:#e5e5e5;color:#929292}.fr-pagination{color:#161616}.fr-pagination__link[aria-current]:not([aria-current=false]){background-color:#000091;color:#f5f5fe}.fr-pagination__link[aria-current]:not([aria-current=false]):hover{background-color:#1212ff}.fr-pagination__link[aria-current]:not([aria-current=false]):active{background-color:#2323ff}.fr-pagination__link:not([aria-current]):disabled,.fr-pagination__link[aria-current=false]:disabled,a.fr-pagination__link:not([aria-current]):not([href]),a.fr-pagination__link[aria-current=false]:not([href]){color:#929292}.fr-summary{background-color:#eee;display:none}.fr-summary li>a,.fr-summary__title{color:#161616}.fr-table caption{color:#161616}.fr-table thead{background-color:#eee;background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a);color:#161616}.fr-table tbody{background-color:#f6f6f6}.fr-table tbody tr:nth-child(2n){background-color:#eee}.fr-table--green-tilleul-verveine thead{background-color:#fceeac;background-image:linear-gradient(0deg,#66673d,#66673d)}.fr-table--green-tilleul-verveine tbody{background-color:#fef7da}.fr-table--green-tilleul-verveine tbody tr:nth-child(2n){background-color:#fceeac}.fr-table--green-tilleul-verveine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-table--green-bourgeon thead{background-color:#c9fcac;background-image:linear-gradient(0deg,#447049,#447049)}.fr-table--green-bourgeon tbody{background-color:#e6feda}.fr-table--green-bourgeon tbody tr:nth-child(2n){background-color:#c9fcac}.fr-table--green-bourgeon.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-table--green-emeraude thead{background-color:#c3fad5;background-image:linear-gradient(0deg,#297254,#297254)}.fr-table--green-emeraude tbody{background-color:#e3fdeb}.fr-table--green-emeraude tbody tr:nth-child(2n){background-color:#c3fad5}.fr-table--green-emeraude.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-table--green-menthe thead{background-color:#bafaee;background-image:linear-gradient(0deg,#37635f,#37635f)}.fr-table--green-menthe tbody{background-color:#dffdf7}.fr-table--green-menthe tbody tr:nth-child(2n){background-color:#bafaee}.fr-table--green-menthe.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009081,#009081)}.fr-table--green-archipel thead{background-color:#c7f6fc;background-image:linear-gradient(0deg,#006a6f,#006a6f)}.fr-table--green-archipel tbody{background-color:#e5fbfd}.fr-table--green-archipel tbody tr:nth-child(2n){background-color:#c7f6fc}.fr-table--green-archipel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#009099,#009099)}.fr-table--blue-ecume thead{background-color:#e9edfe;background-image:linear-gradient(0deg,#2f4077,#2f4077)}.fr-table--blue-ecume tbody{background-color:#f4f6fe}.fr-table--blue-ecume tbody tr:nth-child(2n){background-color:#e9edfe}.fr-table--blue-ecume.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-table--blue-cumulus thead{background-color:#e6eefe;background-image:linear-gradient(0deg,#3558a2,#3558a2)}.fr-table--blue-cumulus tbody{background-color:#f3f6fe}.fr-table--blue-cumulus tbody tr:nth-child(2n){background-color:#e6eefe}.fr-table--blue-cumulus.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-table--purple-glycine thead{background-color:#fee7fc;background-image:linear-gradient(0deg,#6e445a,#6e445a)}.fr-table--purple-glycine tbody{background-color:#fef3fd}.fr-table--purple-glycine tbody tr:nth-child(2n){background-color:#fee7fc}.fr-table--purple-glycine.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-table--pink-macaron thead{background-color:#fee9e6;background-image:linear-gradient(0deg,#8d533e,#8d533e)}.fr-table--pink-macaron tbody{background-color:#fef4f2}.fr-table--pink-macaron tbody tr:nth-child(2n){background-color:#fee9e6}.fr-table--pink-macaron.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-table--pink-tuile thead{background-color:#fee9e7;background-image:linear-gradient(0deg,#a94645,#a94645)}.fr-table--pink-tuile tbody{background-color:#fef4f3}.fr-table--pink-tuile tbody tr:nth-child(2n){background-color:#fee9e7}.fr-table--pink-tuile.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-table--yellow-tournesol thead{background-color:#feecc2;background-image:linear-gradient(0deg,#716043,#716043)}.fr-table--yellow-tournesol tbody{background-color:#fef6e3}.fr-table--yellow-tournesol tbody tr:nth-child(2n){background-color:#feecc2}.fr-table--yellow-tournesol.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-table--yellow-moutarde thead{background-color:#feebd0;background-image:linear-gradient(0deg,#695240,#695240)}.fr-table--yellow-moutarde tbody{background-color:#fef5e8}.fr-table--yellow-moutarde tbody tr:nth-child(2n){background-color:#feebd0}.fr-table--yellow-moutarde.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-table--orange-terre-battue thead{background-color:#fee9e5;background-image:linear-gradient(0deg,#755348,#755348)}.fr-table--orange-terre-battue tbody{background-color:#fef4f2}.fr-table--orange-terre-battue tbody tr:nth-child(2n){background-color:#fee9e5}.fr-table--orange-terre-battue.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-table--brown-cafe-creme thead{background-color:#f7ecdb;background-image:linear-gradient(0deg,#685c48,#685c48)}.fr-table--brown-cafe-creme tbody{background-color:#fbf6ed}.fr-table--brown-cafe-creme tbody tr:nth-child(2n){background-color:#f7ecdb}.fr-table--brown-cafe-creme.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-table--brown-caramel thead{background-color:#f7ebe5;background-image:linear-gradient(0deg,#845d48,#845d48)}.fr-table--brown-caramel tbody{background-color:#fbf5f2}.fr-table--brown-caramel tbody tr:nth-child(2n){background-color:#f7ebe5}.fr-table--brown-caramel.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-table--brown-opera thead{background-color:#f7ece4;background-image:linear-gradient(0deg,#745b47,#745b47)}.fr-table--brown-opera tbody{background-color:#fbf5f2}.fr-table--brown-opera tbody tr:nth-child(2n){background-color:#f7ece4}.fr-table--brown-opera.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-table--beige-gris-galet thead{background-color:#f3ede5;background-image:linear-gradient(0deg,#6a6156,#6a6156)}.fr-table--beige-gris-galet tbody{background-color:#f9f6f2}.fr-table--beige-gris-galet tbody tr:nth-child(2n){background-color:#f3ede5}.fr-table--beige-gris-galet.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-table--bordered tbody tr{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-table td,.fr-table th{font-size:1rem;line-height:1.5rem}.fr-tag{background-color:#eee;color:#161616}.fr-tag[aria-pressed=false]{background-color:#e3e3fd;color:#000091}.fr-tag[aria-pressed=false]:hover{background-color:#c1c1fb}.fr-tag[aria-pressed=false]:active{background-color:#adadf9}.fr-tag.fr-tag--dismiss{background-color:#000091;color:#f5f5fe}.fr-tag.fr-tag--dismiss:hover{background-color:#1212ff}.fr-tag.fr-tag--dismiss:active{background-color:#2323ff}a[href].fr-tag,button.fr-tag,input[type=button].fr-tag{background-color:#e3e3fd;color:#000091}a[href].fr-tag:hover,button.fr-tag:hover,input[type=button].fr-tag:hover{background-color:#c1c1fb}a[href].fr-tag:active,button.fr-tag:active,input[type=button].fr-tag:active{background-color:#adadf9}a[href].fr-tag--green-tilleul-verveine,button.fr-tag--green-tilleul-verveine,input[type=button].fr-tag--green-tilleul-verveine{background-color:#fbe769;color:#66673d}a[href].fr-tag--green-tilleul-verveine:hover,button.fr-tag--green-tilleul-verveine:hover,input[type=button].fr-tag--green-tilleul-verveine:hover{background-color:#d7c655}a[href].fr-tag--green-tilleul-verveine:active,button.fr-tag--green-tilleul-verveine:active,input[type=button].fr-tag--green-tilleul-verveine:active{background-color:#c2b24c}a[href].fr-tag--green-bourgeon,button.fr-tag--green-bourgeon,input[type=button].fr-tag--green-bourgeon{background-color:#a9fb68;color:#447049}a[href].fr-tag--green-bourgeon:hover,button.fr-tag--green-bourgeon:hover,input[type=button].fr-tag--green-bourgeon:hover{background-color:#8ed654}a[href].fr-tag--green-bourgeon:active,button.fr-tag--green-bourgeon:active,input[type=button].fr-tag--green-bourgeon:active{background-color:#7fc04b}a[href].fr-tag--green-emeraude,button.fr-tag--green-emeraude,input[type=button].fr-tag--green-emeraude{background-color:#9ef9be;color:#297254}a[href].fr-tag--green-emeraude:hover,button.fr-tag--green-emeraude:hover,input[type=button].fr-tag--green-emeraude:hover{background-color:#69df97}a[href].fr-tag--green-emeraude:active,button.fr-tag--green-emeraude:active,input[type=button].fr-tag--green-emeraude:active{background-color:#5ec988}a[href].fr-tag--green-menthe,button.fr-tag--green-menthe,input[type=button].fr-tag--green-menthe{background-color:#8bf8e7;color:#37635f}a[href].fr-tag--green-menthe:hover,button.fr-tag--green-menthe:hover,input[type=button].fr-tag--green-menthe:hover{background-color:#6ed5c5}a[href].fr-tag--green-menthe:active,button.fr-tag--green-menthe:active,input[type=button].fr-tag--green-menthe:active{background-color:#62bfb1}a[href].fr-tag--green-archipel,button.fr-tag--green-archipel,input[type=button].fr-tag--green-archipel{background-color:#a6f2fa;color:#006a6f}a[href].fr-tag--green-archipel:hover,button.fr-tag--green-archipel:hover,input[type=button].fr-tag--green-archipel:hover{background-color:#62dbe5}a[href].fr-tag--green-archipel:active,button.fr-tag--green-archipel:active,input[type=button].fr-tag--green-archipel:active{background-color:#58c5cf}a[href].fr-tag--blue-ecume,button.fr-tag--blue-ecume,input[type=button].fr-tag--blue-ecume{background-color:#dee5fd;color:#2f4077}a[href].fr-tag--blue-ecume:hover,button.fr-tag--blue-ecume:hover,input[type=button].fr-tag--blue-ecume:hover{background-color:#b4c5fb}a[href].fr-tag--blue-ecume:active,button.fr-tag--blue-ecume:active,input[type=button].fr-tag--blue-ecume:active{background-color:#99b3f9}a[href].fr-tag--blue-cumulus,button.fr-tag--blue-cumulus,input[type=button].fr-tag--blue-cumulus{background-color:#dae6fd;color:#3558a2}a[href].fr-tag--blue-cumulus:hover,button.fr-tag--blue-cumulus:hover,input[type=button].fr-tag--blue-cumulus:hover{background-color:#a9c8fb}a[href].fr-tag--blue-cumulus:active,button.fr-tag--blue-cumulus:active,input[type=button].fr-tag--blue-cumulus:active{background-color:#8ab8f9}a[href].fr-tag--purple-glycine,button.fr-tag--purple-glycine,input[type=button].fr-tag--purple-glycine{background-color:#fddbfa;color:#6e445a}a[href].fr-tag--purple-glycine:hover,button.fr-tag--purple-glycine:hover,input[type=button].fr-tag--purple-glycine:hover{background-color:#fbaff5}a[href].fr-tag--purple-glycine:active,button.fr-tag--purple-glycine:active,input[type=button].fr-tag--purple-glycine:active{background-color:#fa96f2}a[href].fr-tag--pink-macaron,button.fr-tag--pink-macaron,input[type=button].fr-tag--pink-macaron{background-color:#fddfda;color:#8d533e}a[href].fr-tag--pink-macaron:hover,button.fr-tag--pink-macaron:hover,input[type=button].fr-tag--pink-macaron:hover{background-color:#fbb8ab}a[href].fr-tag--pink-macaron:active,button.fr-tag--pink-macaron:active,input[type=button].fr-tag--pink-macaron:active{background-color:#faa18d}a[href].fr-tag--pink-tuile,button.fr-tag--pink-tuile,input[type=button].fr-tag--pink-tuile{background-color:#fddfdb;color:#a94645}a[href].fr-tag--pink-tuile:hover,button.fr-tag--pink-tuile:hover,input[type=button].fr-tag--pink-tuile:hover{background-color:#fbb8ad}a[href].fr-tag--pink-tuile:active,button.fr-tag--pink-tuile:active,input[type=button].fr-tag--pink-tuile:active{background-color:#faa191}a[href].fr-tag--yellow-tournesol,button.fr-tag--yellow-tournesol,input[type=button].fr-tag--yellow-tournesol{background-color:#fde39c;color:#716043}a[href].fr-tag--yellow-tournesol:hover,button.fr-tag--yellow-tournesol:hover,input[type=button].fr-tag--yellow-tournesol:hover{background-color:#e9c53b}a[href].fr-tag--yellow-tournesol:active,button.fr-tag--yellow-tournesol:active,input[type=button].fr-tag--yellow-tournesol:active{background-color:#d3b235}a[href].fr-tag--yellow-moutarde,button.fr-tag--yellow-moutarde,input[type=button].fr-tag--yellow-moutarde{background-color:#fde2b5;color:#695240}a[href].fr-tag--yellow-moutarde:hover,button.fr-tag--yellow-moutarde:hover,input[type=button].fr-tag--yellow-moutarde:hover{background-color:#f6c43c}a[href].fr-tag--yellow-moutarde:active,button.fr-tag--yellow-moutarde:active,input[type=button].fr-tag--yellow-moutarde:active{background-color:#dfb135}a[href].fr-tag--orange-terre-battue,button.fr-tag--orange-terre-battue,input[type=button].fr-tag--orange-terre-battue{background-color:#fddfd8;color:#755348}a[href].fr-tag--orange-terre-battue:hover,button.fr-tag--orange-terre-battue:hover,input[type=button].fr-tag--orange-terre-battue:hover{background-color:#fbb8a5}a[href].fr-tag--orange-terre-battue:active,button.fr-tag--orange-terre-battue:active,input[type=button].fr-tag--orange-terre-battue:active{background-color:#faa184}a[href].fr-tag--brown-cafe-creme,button.fr-tag--brown-cafe-creme,input[type=button].fr-tag--brown-cafe-creme{background-color:#f4e3c7;color:#685c48}a[href].fr-tag--brown-cafe-creme:hover,button.fr-tag--brown-cafe-creme:hover,input[type=button].fr-tag--brown-cafe-creme:hover{background-color:#e1c386}a[href].fr-tag--brown-cafe-creme:active,button.fr-tag--brown-cafe-creme:active,input[type=button].fr-tag--brown-cafe-creme:active{background-color:#ccb078}a[href].fr-tag--brown-caramel,button.fr-tag--brown-caramel,input[type=button].fr-tag--brown-caramel{background-color:#f3e2d9;color:#845d48}a[href].fr-tag--brown-caramel:hover,button.fr-tag--brown-caramel:hover,input[type=button].fr-tag--brown-caramel:hover{background-color:#e7bea6}a[href].fr-tag--brown-caramel:active,button.fr-tag--brown-caramel:active,input[type=button].fr-tag--brown-caramel:active{background-color:#e1a982}a[href].fr-tag--brown-opera,button.fr-tag--brown-opera,input[type=button].fr-tag--brown-opera{background-color:#f3e2d7;color:#745b47}a[href].fr-tag--brown-opera:hover,button.fr-tag--brown-opera:hover,input[type=button].fr-tag--brown-opera:hover{background-color:#e7bfa0}a[href].fr-tag--brown-opera:active,button.fr-tag--brown-opera:active,input[type=button].fr-tag--brown-opera:active{background-color:#deaa7e}a[href].fr-tag--beige-gris-galet,button.fr-tag--beige-gris-galet,input[type=button].fr-tag--beige-gris-galet{background-color:#eee4d9;color:#6a6156}a[href].fr-tag--beige-gris-galet:hover,button.fr-tag--beige-gris-galet:hover,input[type=button].fr-tag--beige-gris-galet:hover{background-color:#dbc3a4}a[href].fr-tag--beige-gris-galet:active,button.fr-tag--beige-gris-galet:active,input[type=button].fr-tag--beige-gris-galet:active{background-color:#c6b094}button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#000091 .625rem);color:#f5f5fe}button.fr-tag[aria-pressed=true]:not(:disabled):hover,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#1212ff .625rem)}button.fr-tag[aria-pressed=true]:not(:disabled):active,input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#2323ff .625rem)}button.fr-tag[aria-pressed=true]:after,input[type=button].fr-tag[aria-pressed=true]:after{color:#000091}button.fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .25rem,transparent .578125rem,#e5e5e5 .625rem)}button.fr-tag[aria-pressed=true]:disabled:after,input[type=button].fr-tag[aria-pressed=true]:disabled:after{color:#929292}button.fr-tag[aria-pressed=true].fr-tag--sm,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:hover,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:active,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}a:not([href]).fr-tag,button.fr-tag:disabled,input[type=button].fr-tag:disabled{background-color:#e5e5e5;color:#929292}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#000091 .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#1212ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#2323ff .5rem)}.fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,.fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled{background-image:radial-gradient(circle at 100% .1875rem,transparent .4475rem,#e5e5e5 .5rem)}.fr-alert{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a),linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-alert:before{color:#fff}.fr-alert--info{background-image:linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb),linear-gradient(0deg,#0063cb,#0063cb)}.fr-alert--error{background-image:linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500),linear-gradient(0deg,#ce0500,#ce0500)}.fr-alert--success{background-image:linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c),linear-gradient(0deg,#18753c,#18753c)}.fr-alert--warning{background-image:linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000),linear-gradient(0deg,#b34000,#b34000)}.fr-notice{background-color:#eee;color:#161616}.fr-notice--info{background-color:#e8edff;color:#0063cb}.fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px)}.fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#000091 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-radio-group input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-fieldset--error .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px)}.fr-fieldset--error .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#ce0500 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--valid .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px)}.fr-fieldset--valid .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#18753c 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset--info .fr-radio-group input[type=radio]+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px)}.fr-fieldset--info .fr-radio-group input[type=radio]:checked+label{background-image:radial-gradient(transparent 10px,#0063cb 11px,transparent 12px),radial-gradient(#000091 5px,transparent 6px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px)}.fr-fieldset .fr-radio-group input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 10px,#e5e5e5 11px,transparent 12px),radial-gradient(#e5e5e5 5px,transparent 6px)}.fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-group--sm input[type=radio]:checked:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked+label{background-image:radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked+label{background-image:radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich__pictogram{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]+label{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#000091 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-radio-rich input[type=radio]:disabled~.fr-radio-rich__pictogram svg *{fill:#929292}.fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#000091 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#ddd,#ddd)}.fr-radio-rich input[type=radio]:checked:disabled+label{background-image:linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),linear-gradient(0deg,#929292,#929292),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-radio-rich input[type=radio]:checked:disabled~.fr-radio-rich__pictogram{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#e5e5e5,#e5e5e5),linear-gradient(0deg,#ddd,#ddd)}.fr-fieldset--error .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px)}.fr-fieldset--error .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#ce0500 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#18753c 7px,transparent 8px)}.fr-fieldset--valid .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#18753c 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset--info .fr-radio-rich input[type=radio]+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px)}.fr-fieldset--info .fr-radio-rich input[type=radio]:checked+label{background-image:linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),linear-gradient(0deg,#000091,#000091),radial-gradient(transparent 6px,#0063cb 7px,transparent 8px),radial-gradient(#000091 3px,transparent 4px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px)}.fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked+label{background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),radial-gradient(transparent 6px,#e5e5e5 7px,transparent 8px),radial-gradient(#e5e5e5 3px,transparent 4px)}.fr-card{background-color:#fff}.fr-card:not(.fr-card--no-border):not(.fr-card--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-card--grey{background-color:#eee}.fr-card--shadow{background-color:#fff}.fr-card--shadow.fr-card--grey{background-color:#eee}.fr-card--download:not(.fr-card--no-background) .fr-card__header{background-color:#f6f6f6}.fr-card__detail{color:#666;line-height:1rem!important}.fr-card__title{color:#161616}.fr-card__title a[href]{color:#000091}.fr-card__title:disabled,a.fr-card__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-card__desc,.fr-card__detail{font-size:1rem;line-height:1.5rem}.fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5f5fe' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-active-blue-france);background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-active-blue-france) 4px,var(--border-active-blue-france) 5px,transparent 6px),linear-gradient(var(--border-active-blue-france),var(--border-active-blue-france)),var(--data-uri-svg)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group input[type=checkbox]:disabled+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--background-disabled-grey) 4px,var(--background-disabled-grey) 5px,transparent 6px),linear-gradient(var(--background-disabled-grey),var(--background-disabled-grey)),var(--data-uri-svg)}.fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E");background-color:var(--background-disabled-grey)}:root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked+label:before{--data-uri-svg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-checkbox-group--error input[type=checkbox]+label,.fr-checkbox-group--error input[type=checkbox]:checked+label{color:#ce0500}.fr-checkbox-group--error input[type=checkbox]+label:before,.fr-checkbox-group--error input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-checkbox-group--error:before{background-color:#ce0500}.fr-checkbox-group--valid input[type=checkbox]+label,.fr-checkbox-group--valid input[type=checkbox]:checked+label{color:#18753c}.fr-checkbox-group--valid input[type=checkbox]+label:before,.fr-checkbox-group--valid input[type=checkbox]:checked+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}.fr-checkbox-group--valid:before{background-color:#18753c}.fr-fieldset--error .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-error) 4px,var(--border-plain-error) 5px,transparent 6px),linear-gradient(var(--border-plain-error),var(--border-plain-error)),var(--data-uri-svg)}.fr-fieldset--valid .fr-checkbox-group input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-plain-success) 4px,var(--border-plain-success) 5px,transparent 6px),linear-gradient(var(--border-plain-success),var(--border-plain-success)),var(--data-uri-svg)}.fr-toggle label{color:#161616}.fr-toggle label:before{color:#000091;content:"";display:block;font-size:1rem;line-height:1.5rem}.fr-toggle label:after{background-color:#fff;color:#000091}.fr-toggle input[type=checkbox],.fr-toggle label:after{box-shadow:inset 0 0 0 1px #000091}.fr-toggle input[type=checkbox]:checked{background-color:#000091}.fr-toggle input[type=checkbox]:disabled{box-shadow:inset 0 0 0 1px #e5e5e5}.fr-toggle input[type=checkbox]:disabled:checked{background-color:#e5e5e5}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{color:#929292}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:after{box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-toggle .fr-hint-text{color:#666;font-size:1rem;line-height:1.5rem}.fr-toggle--border-bottom{box-shadow:inset 0 -1px 0 0 #ddd}.fr-fieldset--error .fr-toggle label,.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label,.fr-toggle--error label:before{color:#ce0500}.fr-fieldset--error .fr-toggle label:after,.fr-toggle--error label:after{box-shadow:inset 0 0 0 1px #ce0500}.fr-fieldset--valid .fr-toggle label,.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label,.fr-toggle--valid label:before{color:#18753c}.fr-fieldset--valid .fr-toggle label:after,.fr-toggle--valid label:after{box-shadow:inset 0 0 0 1px #18753c}.fr-skiplinks{background-color:#eee}.fr-skiplink{display:none}.fr-select{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-fieldset--valid .fr-select,.fr-select-group--valid .fr-select{box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-select,.fr-select-group--error .fr-select{box-shadow:inset 0 -2px 0 0 #ce0500}.fr-select-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-select-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-select-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-select:disabled{box-shadow:inset 0 -2px 0 0 #e5e5e5;color:#929292}.fr-select:-webkit-autofill,.fr-select:-webkit-autofill:focus,.fr-select:-webkit-autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #ececfe}.fr-callout{background-color:#eee;background-image:linear-gradient(0deg,#6a6af4,#6a6af4)}.fr-callout:before,.fr-callout__title{color:#161616}.fr-callout--green-tilleul-verveine{background-color:#fceeac;background-image:linear-gradient(0deg,#b7a73f,#b7a73f)}.fr-callout--green-bourgeon{background-color:#c9fcac;background-image:linear-gradient(0deg,#68a532,#68a532)}.fr-callout--green-emeraude{background-color:#c3fad5;background-image:linear-gradient(0deg,#00a95f,#00a95f)}.fr-callout--green-menthe{background-color:#bafaee;background-image:linear-gradient(0deg,#009081,#009081)}.fr-callout--green-archipel{background-color:#c7f6fc;background-image:linear-gradient(0deg,#009099,#009099)}.fr-callout--blue-ecume{background-color:#e9edfe;background-image:linear-gradient(0deg,#465f9d,#465f9d)}.fr-callout--blue-cumulus{background-color:#e6eefe;background-image:linear-gradient(0deg,#417dc4,#417dc4)}.fr-callout--purple-glycine{background-color:#fee7fc;background-image:linear-gradient(0deg,#a558a0,#a558a0)}.fr-callout--pink-macaron{background-color:#fee9e6;background-image:linear-gradient(0deg,#e18b76,#e18b76)}.fr-callout--pink-tuile{background-color:#fee9e7;background-image:linear-gradient(0deg,#ce614a,#ce614a)}.fr-callout--yellow-tournesol{background-color:#feecc2;background-image:linear-gradient(0deg,#c8aa39,#c8aa39)}.fr-callout--yellow-moutarde{background-color:#feebd0;background-image:linear-gradient(0deg,#c3992a,#c3992a)}.fr-callout--orange-terre-battue{background-color:#fee9e5;background-image:linear-gradient(0deg,#e4794a,#e4794a)}.fr-callout--brown-cafe-creme{background-color:#f7ecdb;background-image:linear-gradient(0deg,#d1b781,#d1b781)}.fr-callout--brown-caramel{background-color:#f7ebe5;background-image:linear-gradient(0deg,#c08c65,#c08c65)}.fr-callout--brown-opera{background-color:#f7ece4;background-image:linear-gradient(0deg,#bd987a,#bd987a)}.fr-callout--beige-gris-galet{background-color:#f3ede5;background-image:linear-gradient(0deg,#aea397,#aea397)}.fr-modal__body{background-color:#fff}.fr-modal__title{color:#161616}.fr-modal__footer{background-color:#fff}.fr-modal__body.fr-scroll-divider .fr-modal__footer{background-image:linear-gradient(0deg,#ddd,#ddd)}.fr-modal,.fr-navigation{display:none}.fr-share .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-share__text{color:#666}.fr-footer,.fr-share{display:none}.fr-footer{box-shadow:inset 0 2px 0 0 #000091,inset 0 -1px 0 0 #ddd}.fr-footer__content-link{color:#3a3a3a}.fr-footer__top-cat{color:#161616}.fr-footer__top{background-color:#f6f6f6}.fr-footer__bottom{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__bottom .fr-btn{color:#666}.fr-footer__bottom-item:before{box-shadow:inset 0 0 0 1px #ddd}.fr-footer__bottom-copy,.fr-footer__bottom-link{color:#666}.fr-footer__partners{box-shadow:inset 0 1px 0 0 #ddd}.fr-footer__partners-title{color:#3a3a3a}.fr-footer__partners .fr-footer__logo{background-color:#fff;box-shadow:inset 0 0 0 1px #ddd}.fr-tile{background-color:#fff}.fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow){background-image:linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd),linear-gradient(0deg,#ddd,#ddd)}.fr-tile--grey{background-color:#eee}.fr-tile--shadow{background-color:#fff}.fr-tile--shadow.fr-tile--grey{background-color:#eee}.fr-tile__title{color:#161616}.fr-tile__title:disabled,a.fr-tile__title:not([href]){background-color:#e5e5e5;color:#929292}.fr-tile__title:before{background-image:linear-gradient(0deg,#3a3a3a,#3a3a3a)}.fr-tile__title a{color:#000091}.fr-tile__title a:before{background-image:linear-gradient(0deg,#000091,#000091)}.fr-tile__title a:not([href]){color:#929292}.fr-tile__title a:not([href]):before{background-image:linear-gradient(0deg,#e5e5e5,#e5e5e5)}.fr-tile .fr-tile__desc,.fr-tile .fr-tile__detail,.fr-tile--sm .fr-tile__desc,.fr-tile--sm .fr-tile__detail,.fr-tile--sm__desc,.fr-tile--sm__detail,.fr-tile__desc,.fr-tile__detail{font-size:1rem;line-height:1.5rem}.fr-translate .fr-translate__btn[aria-expanded=true]{background-color:#e3e3fd;color:#000091}.fr-translate .fr-translate__btn[aria-expanded=true]:hover{background-color:var(--hover-tint)}.fr-translate .fr-translate__btn[aria-expanded=true]:active{background-color:var(--active-tint)}.fr-translate .fr-translate__btn{font-size:1rem;line-height:1.5rem}.fr-transcription:before{box-shadow:inset 0 0 0 1px #ddd}.fr-transcription__btn{color:#000091}.fr-transcription__btn[aria-expanded=true]{background-color:#e3e3fd}.fr-transcription .fr-modal:not(.fr-modal--opened):before,.fr-transcription__content:before,.fr-transcription__footer:before{box-shadow:inset 0 1px 0 0 #ddd}.fr-transcription{display:none}.fr-input{background-color:#eee;box-shadow:inset 0 -2px 0 0 #3a3a3a;color:#3a3a3a}.fr-input::placeholder{color:#666}.fr-input::-webkit-contacts-auto-fill-button{background-color:#161616}.fr-input::-webkit-contacts-auto-fill-button:hover{background-color:#343434}.fr-input::-webkit-contacts-auto-fill-button:active{background-color:#474747}.fr-input:disabled{box-shadow:inset 0 -2px 0 0 var(--border-disabled-grey);color:var(--text-disabled-grey)}.fr-input:-webkit-autofill,.fr-input:-webkit-autofill:focus,.fr-input:-webkit-autofill:hover,.fr-input:autofill,.fr-input:autofill:focus,.fr-input:autofill:hover{-webkit-text-fill-color:#161616;box-shadow:inset 0 -2px 0 0 #3a3a3a,inset 0 0 0 1000px #e8edff}.fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #000091}.fr-fieldset--valid .fr-input,.fr-fieldset--valid .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--valid .fr-input,.fr-input-group--valid .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #18753c}.fr-fieldset--error .fr-input,.fr-fieldset--error .fr-input-wrap--addon>.fr-input:not(:last-child),.fr-input-group--error .fr-input,.fr-input-group--error .fr-input-wrap--addon>.fr-input:not(:last-child){box-shadow:inset 0 -2px 0 0 #ce0500}.fr-input-group--error:before{background-image:linear-gradient(0deg,#ce0500,#ce0500)}.fr-input-group--valid:before{background-image:linear-gradient(0deg,#18753c,#18753c)}.fr-input-group--info:before{background-image:linear-gradient(0deg,#0063cb,#0063cb)}.fr-search-bar .fr-input{box-shadow:inset 0 -2px 0 0 #000091}.fr-search-bar .fr-input--valid{box-shadow:inset 0 -2px 0 0 #18753c}.fr-search-bar .fr-input--error{box-shadow:inset 0 -2px 0 0 #ce0500}.fr-content-media .fr-link,.fr-content-media__caption{color:#666}.fr-content-media__caption{font-size:1rem;line-height:1.5rem}.fr-content-media__caption .fr-link{font-size:1rem;line-height:1.5rem;padding:0}.fr-content-media__caption .fr-link:after,.fr-content-media__caption .fr-link:before{--icon-size:1rem}.fr-consent-placeholder{background-color:#eee}.fr-consent-banner{background-color:#f6f6f6;box-shadow:inset 0 0 0 1px #ddd;display:none}.fr-consent-manager__header,.fr-consent-service{box-shadow:inset 0 -1px 0 0 #ddd;color:#3a3a3a}.fr-consent-manager__header .fr-radio-group+.fr-radio-group:before,.fr-consent-service .fr-radio-group+.fr-radio-group:before{box-shadow:inset 0 0 0 1px #ddd}.fr-consent-service__title{color:#161616}.fr-consent-service .fr-consent-service__collapse-btn{color:#000091}.fr-follow{background-color:#f5f5fe}.fr-follow .fr-input{background-color:#fff}.fr-follow__title{color:#161616}.fr-follow__newsletter-legal{color:#666}.fr-follow__social .fr-btn{color:#000091}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){color:#929292}.fr-follow .fr-grid-row>:not(:first-child){box-shadow:0 -1px 0 0 #6a6af4}.fr-password__btn{color:#000091}.fr-password__btn:disabled,a.fr-password__btn:not([href]){color:#929292}.fr-password .fr-password__checkbox input[type=checkbox]+label{color:#161616}.fr-password .fr-password__checkbox input[type=checkbox]+label:before{background-image:radial-gradient(at 5px 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) 4px,transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at calc(100% - 5px) calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),radial-gradient(at 5px calc(100% - 4px),transparent 4px,var(--border-action-high-blue-france) 4px,var(--border-action-high-blue-france) 5px,transparent 6px),linear-gradient(var(--border-action-high-blue-france),var(--border-action-high-blue-france)),var(--data-uri-svg)}.fr-header__brand{background-color:#fff;flex-wrap:nowrap}.fr-header__service{box-shadow:inset 0 1px 0 0 #ddd;box-shadow:none;color:#161616}.fr-header__menu-links:after{box-shadow:inset 0 1px 0 0 #ddd}.fr-header__menu-links .fr-btn{color:#000091}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links .fr-btn{color:#000091}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){color:#929292}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header__navbar .fr-service__title{color:#161616}.fr-header__navbar .fr-btn{color:#000091}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){color:#929292}.fr-header__navbar .fr-btn--menu{box-shadow:inset 0 0 0 1px #ddd;color:#000091}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){box-shadow:inset 0 0 0 1px #e5e5e5;color:#929292}.fr-header .fr-modal{background-color:#fff}.fr-header__menu{display:none}.fr-header__body-row{padding:0}.fr-header__body .fr-header__navbar,.fr-header__body .fr-header__tools{display:none}.fr-header__brand-top{width:auto}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.fr-btn--secondary{background-color:transparent}.fr-btn--secondary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:active{background-color:rgba(0,0,0,.1)}.fr-btn--secondary:disabled,a.fr-btn--secondary:not([href]){background-color:transparent}.fr-btn--secondary:disabled:hover,a.fr-btn--secondary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--secondary:disabled:active,a.fr-btn--secondary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--account,.fr-btn--tertiary{background-color:transparent}.fr-btn--account:hover,.fr-btn--tertiary:hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:active,.fr-btn--tertiary:active{background-color:rgba(0,0,0,.1)}.fr-btn--account:disabled,.fr-btn--tertiary:disabled,a.fr-btn--account:not([href]),a.fr-btn--tertiary:not([href]){background-color:transparent}.fr-btn--account:disabled:hover,.fr-btn--tertiary:disabled:hover,a.fr-btn--account:not([href]):hover,a.fr-btn--tertiary:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--account:disabled:active,.fr-btn--tertiary:disabled:active,a.fr-btn--account:not([href]):active,a.fr-btn--tertiary:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase,.fr-btn--close,.fr-btn--display,.fr-btn--fullscreen,.fr-btn--team,.fr-btn--tertiary-no-outline,.fr-btn--tooltip{background-color:transparent}.fr-btn--briefcase:hover,.fr-btn--close:hover,.fr-btn--display:hover,.fr-btn--fullscreen:hover,.fr-btn--team:hover,.fr-btn--tertiary-no-outline:hover,.fr-btn--tooltip:hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:active,.fr-btn--close:active,.fr-btn--display:active,.fr-btn--fullscreen:active,.fr-btn--team:active,.fr-btn--tertiary-no-outline:active,.fr-btn--tooltip:active{background-color:rgba(0,0,0,.1)}.fr-btn--briefcase:disabled,.fr-btn--close:disabled,.fr-btn--display:disabled,.fr-btn--fullscreen:disabled,.fr-btn--team:disabled,.fr-btn--tertiary-no-outline:disabled,.fr-btn--tooltip:disabled,a.fr-btn--briefcase:not([href]),a.fr-btn--close:not([href]),a.fr-btn--display:not([href]),a.fr-btn--fullscreen:not([href]),a.fr-btn--team:not([href]),a.fr-btn--tertiary-no-outline:not([href]),a.fr-btn--tooltip:not([href]){background-color:transparent}.fr-btn--briefcase:disabled:hover,.fr-btn--close:disabled:hover,.fr-btn--display:disabled:hover,.fr-btn--fullscreen:disabled:hover,.fr-btn--team:disabled:hover,.fr-btn--tertiary-no-outline:disabled:hover,.fr-btn--tooltip:disabled:hover,a.fr-btn--briefcase:not([href]):hover,a.fr-btn--close:not([href]):hover,a.fr-btn--display:not([href]):hover,a.fr-btn--fullscreen:not([href]):hover,a.fr-btn--team:not([href]):hover,a.fr-btn--tertiary-no-outline:not([href]):hover,a.fr-btn--tooltip:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-btn--briefcase:disabled:active,.fr-btn--close:disabled:active,.fr-btn--display:disabled:active,.fr-btn--fullscreen:disabled:active,.fr-btn--team:disabled:active,.fr-btn--tertiary-no-outline:disabled:active,.fr-btn--tooltip:disabled:active,a.fr-btn--briefcase:not([href]):active,a.fr-btn--close:not([href]):active,a.fr-btn--display:not([href]):active,a.fr-btn--fullscreen:not([href]):active,a.fr-btn--team:not([href]):active,a.fr-btn--tertiary-no-outline:not([href]):active,a.fr-btn--tooltip:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-tooltip.fr-placement{z-index:1000}.fr-table--bordered tbody tr:nth-child(2n){background-color:transparent}.fr-table--bordered tbody tr:nth-child(2n):hover{background-color:rgba(0,0,0,.05)}.fr-table--bordered tbody tr:nth-child(2n):active{background-color:rgba(0,0,0,.1)}button.fr-tag[aria-pressed=true]:disabled,button.fr-tag[aria-pressed=true]:not(:disabled),input[type=button].fr-tag[aria-pressed=true]:disabled,input[type=button].fr-tag[aria-pressed=true]:not(:disabled){background-color:transparent}.fr-card--shadow{z-index:500}.fr-card--no-background{background-color:transparent}.fr-card--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-card--no-background:active{background-color:rgba(0,0,0,.1)}.fr-toggle label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled:checked~.fr-toggle__label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m10 15.17 9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E")}.fr-toggle input[type=checkbox]:disabled~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle label:before,.fr-toggle--error label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--error .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--error input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle label:before,.fr-toggle--valid label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-fieldset--valid .fr-toggle input[type=checkbox]:checked~.fr-toggle__label:before,.fr-toggle--valid input[type=checkbox]:checked~.fr-toggle__label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='39' height='23' rx='11.5'/%3E%3C/svg%3E")}.fr-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}.fr-select:disabled{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='m12 13.1 5-4.9 1.4 1.4-6.4 6.3-6.4-6.4L7 8.1l5 5z'/%3E%3C/svg%3E")}.fr-modal__body{z-index:2000}.fr-share .fr-btn{background-color:transparent}.fr-share .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-share .fr-btn:disabled,.fr-share a.fr-btn:not([href]){background-color:transparent}.fr-share .fr-btn:disabled:hover,.fr-share a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-share .fr-btn:disabled:active,.fr-share a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-tile--shadow{z-index:500}.fr-tile--no-background{background-color:transparent}.fr-tile--no-background:hover{background-color:rgba(0,0,0,.05)}.fr-tile--no-background:active{background-color:rgba(0,0,0,.1)}.fr-translate__menu .fr-translate__language{box-shadow:none}.fr-search-bar .fr-input::-webkit-search-cancel-button{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E")}.fr-consent-banner{z-index:1500}.fr-consent-service .fr-consent-service,.fr-consent-service:last-of-type{box-shadow:none}.fr-follow__social .fr-btn{background-color:transparent}.fr-follow__social .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-follow__social .fr-btn:disabled,.fr-follow__social a.fr-btn:not([href]){background-color:transparent}.fr-follow__social .fr-btn:disabled:hover,.fr-follow__social a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-follow__social .fr-btn:disabled:active,.fr-follow__social a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-password__btn{background-color:transparent}.fr-password__btn:hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:active{background-color:rgba(0,0,0,.1)}.fr-password__btn:disabled,a.fr-password__btn:not([href]){background-color:transparent}.fr-password__btn:disabled:hover,a.fr-password__btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-password__btn:disabled:active,a.fr-password__btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-password [data-fr-capslock]:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.402 0 24 .598 24 1.332v21.336c0 .734-.598 1.332-1.332 1.332H1.332A1.334 1.334 0 0 1 0 22.668V1.332C0 .598.598 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E")}.fr-header__brand{z-index:750}.fr-header__menu-links .fr-btn{background-color:transparent;box-shadow:none}.fr-header__menu-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__menu-links .fr-btn:disabled,.fr-header__menu-links a.fr-btn:not([href]){background-color:transparent}.fr-header__menu-links .fr-btn:disabled:hover,.fr-header__menu-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__menu-links .fr-btn:disabled:active,.fr-header__menu-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn{background-color:transparent}.fr-header__tools-links .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links .fr-btn:disabled,.fr-header__tools-links a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links .fr-btn:disabled:hover,.fr-header__tools-links a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links .fr-btn:disabled:active,.fr-header__tools-links a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn{background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]){background-color:transparent}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:hover,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__tools-links>.fr-translate:first-child:last-child .fr-btn:disabled:active,.fr-header__tools-links>.fr-translate:first-child:last-child a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn{background-color:transparent}.fr-header__navbar .fr-btn:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn:disabled,.fr-header__navbar a.fr-btn:not([href]){background-color:transparent}.fr-header__navbar .fr-btn:disabled:hover,.fr-header__navbar a.fr-btn:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn:disabled:active,.fr-header__navbar a.fr-btn:not([href]):active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu{background-color:transparent}.fr-header__navbar .fr-btn--menu:hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:active{background-color:rgba(0,0,0,.1)}.fr-header__navbar .fr-btn--menu:disabled,.fr-header__navbar a.fr-btn--menu:not([href]){background-color:transparent}.fr-header__navbar .fr-btn--menu:disabled:hover,.fr-header__navbar a.fr-btn--menu:not([href]):hover{background-color:rgba(0,0,0,.05)}.fr-header__navbar .fr-btn--menu:disabled:active,.fr-header__navbar a.fr-btn--menu:not([href]):active{background-color:rgba(0,0,0,.1)}}@media print and (min-width:48em) and (-ms-high-contrast:active),print and (min-width:48em) and (-ms-high-contrast:none){.fr-sidemenu,.fr-sidemenu__title{box-shadow:none}}@media print and (min-width:48em){.fr-sidemenu__inner{box-shadow:inset -1px 0 0 0 #ddd}.fr-sidemenu--right .fr-sidemenu__inner{box-shadow:inset 1px 0 0 0 #ddd}.fr-follow .fr-grid-row>:not(:first-child){box-shadow:-1px 0 0 0 #6a6af4}}@media print and (min-width:62em){.fr-header{background-color:#fff}.fr-header .fr-header__menu{box-shadow:inset 0 1px 0 0 #ddd}}@media print and (min-width:62em) and (-ms-high-contrast:active),print and (min-width:62em) and (-ms-high-contrast:none){.fr-header{z-index:750}.fr-header__brand{background:transparent;z-index:auto}.fr-header__service{box-shadow:none}} \ No newline at end of file diff --git a/design_system_admin/dsfr/dsfr.print.min.css.map b/design_system_admin/dsfr/dsfr.print.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..bdad299ba8db694dd8d09f6dc02509848fe864bb --- /dev/null +++ b/design_system_admin/dsfr/dsfr.print.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["<no source>","file:///Users/ket/Documents/work/dsfr/src/core/print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/reset/scheme/_body.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_element.scss","%3Cinput%20css%20qNTvPb%3E","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_disabled.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/artwork/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/scheme/_heading.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/display/scheme/_hr.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_pseudo.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/tool/_utility.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_module.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/print/_typography.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/typography/tool/_styles.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/spacing/tool/_space.scss","file:///Users/ket/Documents/work/dsfr/src/component/upload/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/accordion/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/badge/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_accent.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/logo/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/module/utilities/mixin/_nest.scss","file:///Users/ket/Documents/work/dsfr/module/disabled/mixin/_selector.scss","file:///Users/ket/Documents/work/dsfr/src/component/button/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/connect/style/scheme/_group.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/quote/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/breadcrumb/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/selector/mixin/_current.scss","file:///Users/ket/Documents/work/dsfr/src/component/form/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_block.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/stepper/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tooltip/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/sidemenu/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/highlight/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tab/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/pagination/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/summary/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/table/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tag/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/component/alert/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/notice/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_sm.scss","file:///Users/ket/Documents/work/dsfr/src/component/radio/style/scheme/_rich.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/card/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/color/mixin/_data-uri-svg.scss","file:///Users/ket/Documents/work/dsfr/src/component/checkbox/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/toggle/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/skiplink/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/select/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/callout/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/modal/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/navigation/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/footer/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/share/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/tile/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/action/tool/_hover.scss","file:///Users/ket/Documents/work/dsfr/src/component/translate/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/transcription/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/input/input-base/style/_tool.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_autofill.scss","file:///Users/ket/Documents/work/dsfr/src/component/search/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/content/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/selector/tool/_nest.scss","file:///Users/ket/Documents/work/dsfr/src/component/link/style/tool/_size.scss","file:///Users/ket/Documents/work/dsfr/src/core/style/icon/tool/_default.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/consent/style/_print.scss","file:///Users/ket/Documents/work/dsfr/src/component/follow/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/password/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_scheme.scss","file:///Users/ket/Documents/work/dsfr/src/component/header/style/_print.scss","file:///Users/ket/Documents/work/dsfr/module/legacy/mixin/_legacy.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_z-index.scss","file:///Users/ket/Documents/work/dsfr/module/media-query/mixin/_respond-from.scss","file:///Users/ket/Documents/work/dsfr/module/elevation/mixin/_drop.scss"],"names":[],"mappings":"AAAA;;GAAA,ACAA,aCSI,KCgCA,qBAAA,CAAA,aCpCF,CCUA,iOF0BE,aCjCF,CEEE,uBH+BA,YC9BF,CEGE,kBH2BA,YC3BF,CEIE,kBHuBA,YCxBF,CEKE,uBHmBA,YCrBF,CEME,kBHeA,YClBF,CEQI,sDHUF,YCfF,CEKI,8CHUF,YCZF,CEEI,8CHUF,YCTF,CEDI,4CHUF,YCNF,CEJI,8CHUF,YCHF,CEPI,0CHUF,YCAF,CEVI,4CHUF,YCGF,CEbI,8CHUF,YCMF,CEhBI,4CHUF,YCSF,CEnBI,0CHUF,YCYF,CEtBI,gDHUF,YCeF,CEzBI,+CHUF,YCkBF,CE5BI,mDHUF,YCqBF,CE/BI,gDHUF,YCwBF,CElCI,6CHUF,YC2BF,CErCI,2CHUF,YC8BF,CExCI,gDHUF,YCiCF,CEpCE,yBHGA,YCoCF,CGzDA,uIJqBE,aC0CF,CI3EA,GLiCE,gDC6CF,CKtEA,iCNyBE,qBCgDF,CM5DQ,OPYN,gDCmDF,CO5FF,aACE,YP8FA,CQ/FF,YAKE,iBAAA,CADA,sBRkGA,CQ9FF,EACE,SAAA,CACA,QRgGA,CQ7FF,0BCaE,wBAAA,CAGE,4BAAA,CCIA,0BV+EF,CWhHF,WF0BE,cAAA,CAGE,kBTyFF,CKtGA,qBNyBE,8CCkFF,CY9GE,mBb4BA,aCqFF,CY9GI,uCbyBF,wBCwFF,CahIA,yBACE,yBbkIF,Ca/HA,uDACE,oCAAA,CACA,4BAAA,CH0BA,YAfE,CGTF,kBbiIF,CclIA,UfiCE,qBAAA,CAAA,aCuGF,CcpIE,gBf6BA,wBAAA,CAAA,aC2GF,CcnIE,iBfwBA,wBAAA,CAAA,aC+GF,CclIE,mBfmBA,wBAAA,CAAA,aCmHF,CcjIE,mBfcA,wBAAA,CAAA,aCuHF,CchIE,efSA,wBAAA,CAAA,aC2HF,Ce1JI,kChB+BF,wBAAA,CAAA,aC+HF,Ce9JI,0BhB+BF,wBAAA,CAAA,aCmIF,CelKI,0BhB+BF,wBAAA,CAAA,aCuIF,CetKI,wBhB+BF,wBAAA,CAAA,aC2IF,Ce1KI,0BhB+BF,wBAAA,CAAA,aC+IF,Ce9KI,sBhB+BF,wBAAA,CAAA,aCmJF,CelLI,wBhB+BF,wBAAA,CAAA,aCuJF,CetLI,0BhB+BF,wBAAA,CAAA,aC2JF,Ce1LI,wBhB+BF,wBAAA,CAAA,aC+JF,Ce9LI,sBhB+BF,wBAAA,CAAA,aCmKF,CelMI,4BhB+BF,wBAAA,CAAA,aCuKF,CetMI,2BhB+BF,wBAAA,CAAA,aC2KF,Ce1MI,+BhB+BF,wBAAA,CAAA,aC+KF,Ce9MI,4BhB+BF,wBAAA,CAAA,aCmLF,CelNI,yBhB+BF,wBAAA,CAAA,aCuLF,CetNI,uBhB+BF,wBAAA,CAAA,aC2LF,Ce1NI,4BhB+BF,wBAAA,CAAA,aC+LF,CgBhOA,SjBiCE,UCoMF,CiB5OA,eACE,qDjB8OF,CkBvOA,QnBgCE,wBAAA,CAAA,aC6MF,CmBpPE,cpBuFA,wBCgKF,CmBvPE,epBuFA,wBCmKF,CoBzOS,sCrBsBP,wBAAA,CAAA,aCuNF,CkBhPE,mBnByBA,kCAAA,CAAA,aC2NF,CoBjPS,4DrBsBP,kCAAA,CAAA,aC4OF,CkBhQE,mCnBoBA,+BAAA,CAAA,aC6PF,CoBnRS,kHrBsBP,kCAAA,CAAA,aC8QF,CkB5RE,mInBcA,aC8RF,CoBpTS,garBsBP,aC8SF,CqBtVA,uIAOE,4BrB+VF,CsB9VA,YvBgCE,wBAAA,CAAA,aCoUF,CoB1VS,8CrBsBP,wBAAA,CAAA,aCwUF,CuBvWI,kCxB+BF,aAAA,CUfF,cAAA,CAGE,kBTuVF,CuBtWI,oBxB2BF,UAAA,CUfF,cAAA,CAGE,kBT0VF,CwB/WA,UzBiCE,gDC2VF,CKpXA,iBNyBE,aC8VF,CKvXA,yCNyBE,aCiWF,CK1XA,iCNyBE,aCoWF,CK7XA,iCNyBE,aCuWF,CKhYA,+BNyBE,aC0WF,CKnYA,iCNyBE,aC6WF,CKtYA,6BNyBE,aCgXF,CKzYA,+BNyBE,aCmXF,CK5YA,iCNyBE,aCsXF,CK/YA,+BNyBE,aCyXF,CKlZA,6BNyBE,aC4XF,CKrZA,mCNyBE,aC+XF,CKxZA,kCNyBE,aCkYF,CK3ZA,sCNyBE,aCqYF,CK9ZA,mCNyBE,aCwYF,CKjaA,gCNyBE,aC2YF,CKpaA,8BNyBE,aC8YF,CKvaA,mCNyBE,aCiZF,CwBraE,kBzBoBA,UCoZF,CyB5bA,yDhByBA,cAAA,CAGE,kBTsaF,C0B1bA,e3BgCE,UAAA,C4BxCF,Y3BucA,C4BpcA,6D7BqCE,aCkaF,C6BhcI,sH9B8BF,aC0aF,C6BlcI,sH9BwBF,aC6aF,C6B/bI,kH9BkBF,aCgbF,C6B5bI,oS9BYF,aCubF,C6B5bA,U9BKE,aC0bF,C6B5bE,iB9BEA,aC6bF,C6B3bE,mB9BFA,aCgcF,C6B1bE,gB9BNA,aCmcF,C6BxbI,sD9BXF,aCscF,C6BpbA,0B9BlBE,UAAA,CUfF,cAAA,CAGE,kBTsdF,C6BlbE,mB9BxBA,aC6cF,C6BjbE,mB9B5BA,aCgdF,C6BhbE,kB9BhCA,aCmdF,C6BnaM,iP9BhDJ,aC6dF,C6BraE,qB9BxDA,aCgeF,C6BpaE,6D9B5DA,sDCmeF,C6BlaE,uE9BjEA,aCseF,C6BhaE,6D9BtEA,sDCyeF,C6B9ZE,uE9B3EA,aC4eF,C6B5ZE,2D9BhFA,sDC+eF,C6B1ZE,qE9BrFA,aCkfF,C8BrhBA,mB/BmCE,aC4fF,C+BphBE,wChCwBA,UCkgBF,C+BthBE,mBhCoBA,iSCqgBF,CgC7iBA,wCvByBA,cAAA,CAGE,kBTqhBF,CiCziBA,YlCgCE,aAAA,CmCxCF,YlCsjBA,CiCxiBI,8BlC0BF,oSCwhBF,CiC9iBI,iClCsBF,8RC6hBF,CmC9jBA,SpCiCE,aCuiBF,CmCrkBE,iBpC8BA,UC0iBF,CmClkBE,2BpCwBA,aC6iBF,CmCjkBE,0BpCoBA,+BCgjBF,CoC9kBA,arC8BE,qDAAA,CsCxCF,YrCmmBA,C8B9lBA,oB/BmCE,gCAAA,CAAA,aCskBF,CoChlBI,2ErCUF,aCilBF,CK1mBA,0BNyBE,gDColBF,CK7mBA,sCNyBE,gCCulBF,CKhnBA,qCNyBE,0BC0lBF,C4B/nBA,0J7BqCE,aC4mBF,CKroBA,mINyBE,wBC+mBF,CoCxkBI,sCrCvCF,wBConBF,CsCrpBA,cvCiCE,sDC8nBF,Ce7pBI,sChB+BF,sDCioBF,CehqBI,8BhB+BF,sDCooBF,CenqBI,8BhB+BF,sDCuoBF,CetqBI,4BhB+BF,sDC0oBF,CezqBI,8BhB+BF,sDC6oBF,Ce5qBI,0BhB+BF,sDCgpBF,Ce/qBI,4BhB+BF,sDCmpBF,CelrBI,8BhB+BF,sDCspBF,CerrBI,4BhB+BF,sDCypBF,CexrBI,0BhB+BF,sDC4pBF,Ce3rBI,gChB+BF,sDC+pBF,Ce9rBI,+BhB+BF,sDCkqBF,CejsBI,mChB+BF,sDCqqBF,CepsBI,gChB+BF,sDCwqBF,CevsBI,6BhB+BF,sDC2qBF,Ce1sBI,2BhB+BF,sDC8qBF,Ce7sBI,gChB+BF,sDCirBF,CuCjtBA,SxCgCE,gCCyrBF,CKltBA,gBNyBE,0EC4rBF,CuCltBE,cxCsBA,gJAAA,CAAA,yBCgsBF,CuCltBI,wCxCkBF,wBAAA,CAAA,aCosBF,CuCjtBI,iDxCaF,qBAAA,CAAA,sJAAA,CAAA,aCysBF,CoB/tBS,uBrBsBP,wBAAA,CAAA,aC6sBF,CwC5uBA,ezC+BE,aCktBF,C4BvvBA,6D7BqCE,wBAAA,CAAA,aCstBF,CmB7vBE,mEpBuFA,wBCyqBF,CmBhwBE,oEpBuFA,wBC4qBF,CoBlvBS,gNrBsBP,aC+tBF,CyChwBA,Y1CiCE,qBAAA,C2CxCF,Y1C4wBA,CyC7vBE,oC1CyBA,aC0uBF,C2C1wBE,kB5CgCA,aCqvBF,C2CjxBE,gB5C4BA,qBAAA,CAAA,sDAAA,CAAA,aC0vBF,C2C/wBE,gB5CqBA,wBC6vBF,C2C/wBI,iC5CkBF,qBCgwBF,C2C5wBI,wC5CYF,wBAAA,CAAA,sDCuwBF,C2C9wBI,wC5COF,wBC0wBF,C2C9wBM,yD5CIJ,wBC6wBF,C2CzwBQ,8D5CJN,sDCgxBF,C2C5xBI,gC5CYF,wBAAA,CAAA,sDCuxBF,C2C9xBI,gC5COF,wBC0xBF,C2C9xBM,iD5CIJ,wBC6xBF,C2CzxBQ,sD5CJN,sDCgyBF,C2C5yBI,gC5CYF,wBAAA,CAAA,sDCuyBF,C2C9yBI,gC5COF,wBC0yBF,C2C9yBM,iD5CIJ,wBC6yBF,C2CzyBQ,sD5CJN,sDCgzBF,C2C5zBI,8B5CYF,wBAAA,CAAA,sDCuzBF,C2C9zBI,8B5COF,wBC0zBF,C2C9zBM,+C5CIJ,wBC6zBF,C2CzzBQ,oD5CJN,sDCg0BF,C2C50BI,gC5CYF,wBAAA,CAAA,sDCu0BF,C2C90BI,gC5COF,wBC00BF,C2C90BM,iD5CIJ,wBC60BF,C2Cz0BQ,sD5CJN,sDCg1BF,C2C51BI,4B5CYF,wBAAA,CAAA,sDCu1BF,C2C91BI,4B5COF,wBC01BF,C2C91BM,6C5CIJ,wBC61BF,C2Cz1BQ,kD5CJN,sDCg2BF,C2C52BI,8B5CYF,wBAAA,CAAA,sDCu2BF,C2C92BI,8B5COF,wBC02BF,C2C92BM,+C5CIJ,wBC62BF,C2Cz2BQ,oD5CJN,sDCg3BF,C2C53BI,gC5CYF,wBAAA,CAAA,sDCu3BF,C2C93BI,gC5COF,wBC03BF,C2C93BM,iD5CIJ,wBC63BF,C2Cz3BQ,sD5CJN,sDCg4BF,C2C54BI,8B5CYF,wBAAA,CAAA,sDCu4BF,C2C94BI,8B5COF,wBC04BF,C2C94BM,+C5CIJ,wBC64BF,C2Cz4BQ,oD5CJN,sDCg5BF,C2C55BI,4B5CYF,wBAAA,CAAA,sDCu5BF,C2C95BI,4B5COF,wBC05BF,C2C95BM,6C5CIJ,wBC65BF,C2Cz5BQ,kD5CJN,sDCg6BF,C2C56BI,kC5CYF,wBAAA,CAAA,sDCu6BF,C2C96BI,kC5COF,wBC06BF,C2C96BM,mD5CIJ,wBC66BF,C2Cz6BQ,wD5CJN,sDCg7BF,C2C57BI,iC5CYF,wBAAA,CAAA,sDCu7BF,C2C97BI,iC5COF,wBC07BF,C2C97BM,kD5CIJ,wBC67BF,C2Cz7BQ,uD5CJN,sDCg8BF,C2C58BI,qC5CYF,wBAAA,CAAA,sDCu8BF,C2C98BI,qC5COF,wBC08BF,C2C98BM,sD5CIJ,wBC68BF,C2Cz8BQ,2D5CJN,sDCg9BF,C2C59BI,kC5CYF,wBAAA,CAAA,sDCu9BF,C2C99BI,kC5COF,wBC09BF,C2C99BM,mD5CIJ,wBC69BF,C2Cz9BQ,wD5CJN,sDCg+BF,C2C5+BI,+B5CYF,wBAAA,CAAA,sDCu+BF,C2C9+BI,+B5COF,wBC0+BF,C2C9+BM,gD5CIJ,wBC6+BF,C2Cz+BQ,qD5CJN,sDCg/BF,C2C5/BI,6B5CYF,wBAAA,CAAA,sDCu/BF,C2C9/BI,6B5COF,wBC0/BF,C2C9/BM,8C5CIJ,wBC6/BF,C2Cz/BQ,mD5CJN,sDCggCF,C2C5gCI,kC5CYF,wBAAA,CAAA,sDCugCF,C2C9gCI,kC5COF,wBC0gCF,C2C9gCM,mD5CIJ,wBC6gCF,C2CzgCQ,wD5CJN,sDCghCF,C2ClgCM,6B5CdJ,gDCohCF,C4C5jCA,0BnCyBA,cAAA,CAGE,kBTkjCF,C6CtkCA,Q9CgCE,qBAAA,CAAA,aC4iCF,C8C7jCA,4B/CiBE,wBAAA,CAAA,aCgjCF,CmBvlCE,kCpBuFA,wBCmgCF,CmB1lCE,mCpBuFA,wBCsgCF,C6C7kCE,wB9CuBA,wBAAA,CAAA,aC0jCF,CmBjmCE,8BpBuFA,wBC6gCF,CmBpmCE,+BpBuFA,wBCghCF,C6C9kCE,uD9CcA,wBAAA,CAAA,aCskCF,CmB7mCE,yEpBuFA,wBC2hCF,CmBlnCE,4EpBuFA,wBCgiCF,Ce/mCI,+HhB+BF,wBAAA,CAAA,aCslCF,CmB7nCE,iJpBuFA,wBC2iCF,CmBloCE,oJpBuFA,wBCgjCF,Ce/nCI,uGhB+BF,wBAAA,CAAA,aCsmCF,CmB7oCE,yHpBuFA,wBC2jCF,CmBlpCE,4HpBuFA,wBCgkCF,Ce/oCI,uGhB+BF,wBAAA,CAAA,aCsnCF,CmB7pCE,yHpBuFA,wBC2kCF,CmBlqCE,4HpBuFA,wBCglCF,Ce/pCI,iGhB+BF,wBAAA,CAAA,aCsoCF,CmB7qCE,mHpBuFA,wBC2lCF,CmBlrCE,sHpBuFA,wBCgmCF,Ce/qCI,uGhB+BF,wBAAA,CAAA,aCspCF,CmB7rCE,yHpBuFA,wBC2mCF,CmBlsCE,4HpBuFA,wBCgnCF,Ce/rCI,2FhB+BF,wBAAA,CAAA,aCsqCF,CmB7sCE,6GpBuFA,wBC2nCF,CmBltCE,gHpBuFA,wBCgoCF,Ce/sCI,iGhB+BF,wBAAA,CAAA,aCsrCF,CmB7tCE,mHpBuFA,wBC2oCF,CmBluCE,sHpBuFA,wBCgpCF,Ce/tCI,uGhB+BF,wBAAA,CAAA,aCssCF,CmB7uCE,yHpBuFA,wBC2pCF,CmBlvCE,4HpBuFA,wBCgqCF,Ce/uCI,iGhB+BF,wBAAA,CAAA,aCstCF,CmB7vCE,mHpBuFA,wBC2qCF,CmBlwCE,sHpBuFA,wBCgrCF,Ce/vCI,2FhB+BF,wBAAA,CAAA,aCsuCF,CmB7wCE,6GpBuFA,wBC2rCF,CmBlxCE,gHpBuFA,wBCgsCF,Ce/wCI,6GhB+BF,wBAAA,CAAA,aCsvCF,CmB7xCE,+HpBuFA,wBC2sCF,CmBlyCE,kIpBuFA,wBCgtCF,Ce/xCI,0GhB+BF,wBAAA,CAAA,aCswCF,CmB7yCE,4HpBuFA,wBC2tCF,CmBlzCE,+HpBuFA,wBCguCF,Ce/yCI,sHhB+BF,wBAAA,CAAA,aCsxCF,CmB7zCE,wIpBuFA,wBC2uCF,CmBl0CE,2IpBuFA,wBCgvCF,Ce/zCI,6GhB+BF,wBAAA,CAAA,aCsyCF,CmB70CE,+HpBuFA,wBC2vCF,CmBl1CE,kIpBuFA,wBCgwCF,Ce/0CI,oGhB+BF,wBAAA,CAAA,aCszCF,CmB71CE,sHpBuFA,wBC2wCF,CmBl2CE,yHpBuFA,wBCgxCF,Ce/1CI,8FhB+BF,wBAAA,CAAA,aCs0CF,CmB72CE,gHpBuFA,wBC2xCF,CmBl3CE,mHpBuFA,wBCgyCF,Ce/2CI,6GhB+BF,wBAAA,CAAA,aCs1CF,CmB73CE,+HpBuFA,wBC2yCF,CmBl4CE,kIpBuFA,wBCgzCF,C6C/1CM,4G9CDJ,8FAAA,CAAA,aCq2CF,CmB54CE,wHpBuFA,8FCi0CF,CmBx5CE,0HpBuFA,8FCu0CF,CKh5CA,0FNyBE,aC63CF,CoBn5CS,gGrBsBP,8FCm4CF,CK55CA,4GNyBE,aC+4CF,C6C53CM,oG9CnBJ,4FCq5CF,CmB57CE,gHpBuFA,4FCy2CF,CmBh8CE,kHpBuFA,4FC62CF,CoBn7CS,sHrBsBP,4FCi6CF,C6Ch4CE,+E9CjCA,wBAAA,CAAA,aC86CF,C8C/7CA,gJ/CiBE,4FCo7CF,CmB39CE,4JpBuFA,4FCw4CF,CmB/9CE,8JpBuFA,4FC44CF,CoBl9CS,kKrBsBP,4FCg8CF,C+Cj+CA,UhDiCE,8MCq8CF,CK99CA,iBNyBE,UCw8CF,C+Cl+CE,gBhD0BA,8MC28CF,C+Cj+CE,iBhDsBA,8MC88CF,C+Ch+CE,mBhDkBA,8MCi9CF,C+C/9CE,mBhDcA,8MCo9CF,CgDr/CA,WjDiCE,qBAAA,CAAA,aC09CF,CgDv/CE,iBjD6BA,wBAAA,CAAA,aC89CF,CiD3/CI,wClD6BF,gFCm+CF,CiD3/CM,iDlDwBJ,gFCs+CF,CiDx/CM,gDlDkBJ,6HCy+CF,CiDt/CQ,yDlDaN,6HC4+CF,CiD7+CQ,4DlDCN,gFC++CF,CiD5+CQ,oElDHN,6HCk/CF,CiDr+CQ,4DlDbN,gFCq/CF,CiDp+CQ,oElDjBN,6HCw/CF,CiD79CQ,2DlD3BN,gFC2/CF,CiD59CQ,mElD/BN,6HC8/CF,CiDr9CQ,8DlDzCN,gFCigDF,CiDp9CQ,sElD7CN,6HCogDF,CkDliDI,4CnD8BF,6ECugDF,CkDhiDM,qDnDyBJ,6EC0gDF,CkD7hDM,oDnDmBJ,0HC6gDF,CkD3hDQ,6DnDcN,0HCghDF,CkDlhDQ,gEnDEN,6ECmhDF,CkDjhDQ,wEnDFN,0HCshDF,CkD1gDQ,gEnDZN,6ECyhDF,CkDzgDQ,wEnDhBN,0HC4hDF,CkDlgDQ,+DnD1BN,6EC+hDF,CkDjgDQ,uEnD9BN,0HCkiDF,CkD1/CQ,kEnDxCN,6ECqiDF,CkDz/CQ,0EnD5CN,0HCwiDF,CmDtkDE,0BpD8BA,qBAAA,CAAA,gJC4iDF,CmDpkDI,uCpDwBF,qBAAA,CAAA,6MCgjDF,CmDlkDM,gDpDkBJ,6MCmjDF,CmDhkDQ,0EpDaN,YCsjDF,CmD5jDM,+CpDMJ,kRCyjDF,CmD3jDM,mEpDEJ,kKC4jDF,CmDzjDQ,wDpDHN,kRC+jDF,CmDxjDQ,4EpDPN,kKCkkDF,CmD/iDQ,2DpDnBN,6MCqkDF,CmD9iDQ,mEpDvBN,kRCwkDF,CmDviDQ,2DpDjCN,6MC2kDF,CmDtiDQ,mEpDrCN,kRC8kDF,CmD/hDQ,0DpD/CN,6MCilDF,CmD9hDQ,kEpDnDN,kRColDF,CmDvhDQ,6DpD7DN,6MCulDF,CmDthDQ,qEpDjEN,0PC0lDF,CoDznDA,SrD+BE,qBC+lDF,CoD3nDE,wDrD4BA,gJCkmDF,CoD1nDE,erDwBA,qBCqmDF,CoDznDE,iBrDoBA,qBCwmDF,CoDxnDE,+BrDgBA,qBCknDF,CoDznDI,iErDOF,wBCkoDF,CoDpoDE,iBrDEA,UAAA,CsDlCA,0BrDyqDF,CoDroDE,gBrDFA,aC4oDF,CoDvoDI,wBrDLF,aC+oDF,CoBrqDS,sDrBsBP,wBAAA,CAAA,aCmpDF,CqD3rDA,gC5CyBA,cAAA,CAGE,kBTqqDF,CKlrDA,qDNyBE,4gCCiqDF,CK1rDA,6DiDmBE,uNAAA,CvDMA,qDAAA,CAAA,47BCsqDF,CmB7sDE,uFmCwCE,uNtDwqDJ,CKlsDA,8DNyBE,46BC4qDF,CKrsDA,sEiDmBE,uNAAA,CvDMA,gDCgrDF,CmBvtDE,gGmCwCE,oNtDkrDJ,CuD1qDM,kHxDTJ,aCurDF,CKhtDA,gINyBE,40BC2rDF,CKptDA,iCNyBE,wBC8rDF,CuDpqDM,kHxD1BJ,aCksDF,CK3tDA,gINyBE,42BCssDF,CK/tDA,iCNyBE,wBCysDF,CKluDA,yENyBE,40BC4sDF,CKruDA,yENyBE,42BC+sDF,CwD9uDE,iBzD+BA,aCotDF,CK7uDA,wBNyBE,aAAA,CMtBE,UoDjBc,CpDqBd,aAAA,CIGJ,cAAA,CAGE,kBTmuDF,CKhvDA,uBNyBE,qBAAA,CAAA,aCmuDF,CwDnvDE,uDzDgBA,kCCwuDF,CwDrvDI,wCzDaF,wBC2uDF,CoBjwDS,yCrBsBP,kCC0vDF,CwDxvDM,iDzDFJ,wBC6vDF,CKtxDA,kENyBE,aC4wDF,CKryDA,iENyBE,kCAAA,CAAA,aCuxDF,CwD1vDE,yBzD7BA,UAAA,CUfF,cAAA,CAGE,kBTwyDF,CwD3vDE,0BzDjCA,gCCiyDF,CK1zDA,wINyBE,aC2yDF,CKp0DA,yENyBE,kCCuzDF,CKh1DA,wINyBE,aCu0DF,CKh2DA,yENyBE,kCCm1DF,C0Dp3DA,c3DiCE,qBC02DF,C2Dn5DF,aACE,Y3Dq5DA,C4D74DA,W7DgCE,qBAAA,CAAA,mCAAA,CAAA,aC23DF,C4Dp5DE,kE7DyBA,mCCq4DF,C4Dz5DE,kE7DoBA,mCC04DF,CKn6DA,+BNyBE,sDC+4DF,CKx6DA,+BNyBE,sDCo5DF,CK76DA,8BNyBE,sDCy5DF,CoB/6DS,oBrBsBP,mCAAA,CAAA,aC+5DF,C4Dj5DE,gG7DdA,+BAAA,CAAA,8DC06DF,C6D38DA,Y9DiCE,qBAAA,CAAA,sDCg7DF,C8Bn9DA,sC/BmCE,aCs7DF,Cer9DI,oChB+BF,wBAAA,CAAA,sDC07DF,Cez9DI,4BhB+BF,wBAAA,CAAA,sDC87DF,Ce79DI,4BhB+BF,wBAAA,CAAA,sDCk8DF,Cej+DI,0BhB+BF,wBAAA,CAAA,sDCs8DF,Cer+DI,4BhB+BF,wBAAA,CAAA,sDC08DF,Cez+DI,wBhB+BF,wBAAA,CAAA,sDC88DF,Ce7+DI,0BhB+BF,wBAAA,CAAA,sDCk9DF,Cej/DI,4BhB+BF,wBAAA,CAAA,sDCs9DF,Cer/DI,0BhB+BF,wBAAA,CAAA,sDC09DF,Cez/DI,wBhB+BF,wBAAA,CAAA,sDC89DF,Ce7/DI,8BhB+BF,wBAAA,CAAA,sDCk+DF,CejgEI,6BhB+BF,wBAAA,CAAA,sDCs+DF,CergEI,iChB+BF,wBAAA,CAAA,sDC0+DF,CezgEI,8BhB+BF,wBAAA,CAAA,sDC8+DF,Ce7gEI,2BhB+BF,wBAAA,CAAA,sDCk/DF,CejhEI,yBhB+BF,wBAAA,CAAA,sDCs/DF,CerhEI,8BhB+BF,wBAAA,CAAA,sDC0/DF,C8BvhEA,gB/B6BE,qBC+/DF,C8D1hEE,iB/D2BA,aCygEF,C8DhiEE,kB/DuBA,qBC8gEF,C8DhiEI,oD/DkBF,gDCmhEF,C+D5jEF,yBACE,Y/DqkEA,CgE7jEE,kBjEgCA,+BAAA,CAAA,aCmiEF,CoBzjES,0DrBsBP,kCAAA,CAAA,aCojEF,CgEhlEE,gBjE4BA,UCokEF,CiErmEA,qBCPA,YlEsnEA,CiE/mEA,WlEiCE,wDC8kEF,CiE5mEE,yBlE8BA,aCilEF,CiE3mEE,oBlE0BA,aColEF,CiE1mEE,gBlEsBA,wBCulEF,CiEzmEE,mBlEkBA,+BC0lEF,CiE1mEI,2BlEgBF,UC6lEF,CKtnEA,+BNyBE,+BCgmEF,CiEjmEE,gDlECA,UCsmEF,CiEnmEE,qBlEHA,+BCymEF,CiEnmEI,2BlENF,aC4mEF,CiElmEI,sClEVF,qBAAA,CAAA,+BCgnEF,CmE/oEA,SpE+BE,qBCwnEF,CmEppEE,wDpE4BA,gJC2nEF,CmEnpEE,epEwBA,qBC8nEF,CmElpEE,iBpEoBA,qBCioEF,CmEjpEE,+BpEgBA,qBC2oEF,CmEnpEE,gBpEQA,aC2pEF,CoBjrES,sDrBsBP,wBAAA,CAAA,aC+pEF,CKxrEA,uBNyBE,sDCkqEF,CmElqEI,kBpEAF,aCqqEF,CK9rEA,yBNyBE,sDCwqEF,CmEjqEM,8BpEPJ,aC2qEF,CKpsEA,qCNyBE,sDC8qEF,CoEptEA,oL3DuBA,cAAA,CAGE,kBTqsEF,CqExtEI,qDtE+BF,wBAAA,CAAA,aC+rEF,CsElsEA,2DACE,kCtEosEF,CsEjsEA,4DACE,mCtEmsEF,CuE7uEA,iC9DyBA,cAAA,CAGE,kBT4tEF,CKzuEA,yBNyBE,+BCqtEF,CwEjvEE,uBzE4BA,aCwtEF,CwEjvEI,2CzEyBF,wBC2tEF,CKpvEA,6HNyBE,+BCouEF,CyE7wEF,kBACE,YzE+wEA,C0EvwEA,U3EgCE,qBAAA,CAAA,mCAAA,CAAA,aC8uEF,C2EvwEA,uB5EyBE,UCivEF,C2EpwEA,6C5EmBE,wBCovEF,CmB3xEE,mDpBuFA,wBCusEF,CmB9xEE,oDpBuFA,wBC0sEF,CoBhxES,mBrBsBP,uDAAA,CAAA,+BC8vEF,C4EjyEA,kK7EmCE,+BAAA,CAAA,8DCkwEF,C0EjwEI,iD3EDF,mCCqwEF,C0E7vEI,4M3ERF,mCC0wEF,C0E1vEI,4M3EhBF,mCC+wEF,CKxyEA,8BNyBE,sDCkxEF,CK3yEA,8BNyBE,sDCqxEF,CK9yEA,6BNyBE,sDCwxEF,C6ExzEE,yB9EgCA,mCC6xEF,C6E1zEI,gC9E6BF,mCCgyEF,C6EzzEI,gC9EyBF,mCCmyEF,C8En0EE,sD/EgCA,UC8yEF,C+Et1EA,2BtEyBA,cAAA,CAGE,kBT8zEF,CgFp1EE,oCCKF,cAAA,CACA,kBAFc,CAsBd,SjF+zEA,CKh1EA,qF6E0BE,gBlFyzEF,CmF11EA,wBpFgCE,qBC+zEF,CmF31EA,mBpF4BE,wBAAA,CAAA,+BAAA,CqFvCA,YpF02EF,CmFz1EA,gDpFsBE,gCAAA,CAAA,aC+0EF,CKx2EA,8HNyBE,+BCm1EF,CmF11EE,2BpFOA,aCw1EF,CmFt1EE,sDpFFA,aCm2EF,CqFp4EA,WtFiCE,wBCm3EF,CqFj5EE,qBtF8BA,qBCs3EF,CqFh5EE,kBtF0BA,aCy3EF,CqF94EI,6BtFqBF,UC43EF,CqF34EI,2BtFeF,aC+3EF,CoBr5ES,4ErBsBP,aC+4EF,CqFz5EE,2CtFUA,6BC+5EF,CsF97EE,kBvF+BA,aCy6EF,CoB/7ES,0DrBsBP,aCy7EF,CsF58EM,+DvFmBJ,aC88EF,CKv+EA,sENyBE,4gCCi9EF,CuF/+EE,kBxF8BA,qBAAA,CyFxBA,gBxF8+EF,CuFh/EE,oBxF0BA,+BAAA,CyFhBA,eAAA,CzFgBA,aCi+EF,CK1/EA,6BNyBE,+BC2/EF,CuF//EI,+BxFIF,aC8/EF,CoBphFS,oFrBsBP,aC8gFF,CuF3gFI,gCxFHF,aCmiFF,CoBzjFS,sFrBsBP,aCmjFF,CuF3iFM,qExFRJ,+BAAA,CAAA,aCokFF,CoB1lFS,gKrBsBP,kCAAA,CAAA,aCqlFF,C8BxnFA,sC/BmCE,aCqmFF,CuFhlFI,2BxFrBF,aCwmFF,CoB9nFS,4ErBsBP,aCwnFF,CuFhmFM,iCxFxBJ,+BAAA,CAAA,aCyoFF,CoB/pFS,wFrBsBP,kCAAA,CAAA,aC0pFF,CuFtnFE,qBxFpCA,qBC+qFF,CwFvtFA,iBACE,YxF2tFF,CwFvtFE,qB9E2BA,SV+rFF,CwFttFE,uEAEE,YxFwtFJ,CwFjtFE,sBACE,UxFstFJ,CAznFF,CyFxGI,+EvEOA,mBnBwGE,4BCiJJ,CD9IM,yBACE,gCCgJR,CD7IM,0BACE,+BC+IR,CoB5PS,4DrBqGL,4BCkKJ,CD/JM,wEACE,gCCiKR,CD9JM,0EACE,+BCgKR,CkB3QE,mCnBmGE,4BCmLJ,CDhLM,+CACE,gCCkLR,CD/KM,iDACE,+BCiLR,CoB9RS,kHrBqGL,4BCoMJ,CDjMM,0IACE,gCCmMR,CDhMM,8IACE,+BCkMR,CkBvSE,mInB6FE,4BCoNJ,CDjNM,6KACE,gCCmNR,CDhNM,oLACE,+BCkNR,CoB/TS,garBqGL,4BCoOJ,CDjOM,ofACE,gCCmOR,CDhOM,kgBACE,+BCkOR,CiCtVE,yByDHI,Y1FmjBN,C2CjgBQ,2C5C6DJ,4BC08BJ,CDv8BM,iDACE,gCCy8BR,CDt8BM,kDACE,+BCw8BR,CoBrjCS,4MrBqGL,4BC0zCJ,CoD75CE,iBsCZI,W1F6oDN,CoDznDE,wBrD2FE,4BCwiDJ,CDriDM,8BACE,gCCuiDR,CDpiDM,+BACE,+BCsiDR,CKtpDA,wBiDcM,sOtDuuDN,CKrvDA,iEiDcM,oOtD2vDN,CKzwDA,gEiDcM,yNtDgwDN,CK9wDA,0EiDcM,oOtD6wDN,CK3xDA,yEiDcM,yNtDkxDN,CKhyDA,kEiDcM,sOtD4xDN,CK1yDA,2EiDcM,sOtD4zDN,CK10DA,6JiDcM,oOtDw0DN,CKt1DA,2EiDcM,sOtDw1DN,CKt2DA,6JiDcM,oOtDo2DN,C4Dz3DA,WNqBM,qNtD24DN,CoBt5DS,oBkCWH,qNtD+6DN,C8Bj8DA,gB4DHM,Y1FoiEN,CgEpiEE,kBjE+GE,4BCy9DJ,CDt9DM,wBACE,gCCw9DR,CDr9DM,yBACE,+BCu9DR,CoBpkES,0DrBqGL,4BC0+DJ,CDv+DM,sEACE,gCCy+DR,CDt+DM,wEACE,+BCw+DR,CmEnlEE,iBuBZI,W1FsqEN,CmElpEE,wBpE2FE,4BCikEJ,CD9jEM,8BACE,gCCgkER,CD7jEM,+BACE,+BC+jER,CqE7qEI,4CtE6PE,eCo+DN,C6E/tEI,uDvBUE,mYtDmzEN,CmFp0EA,mBOJM,Y1Fw2EN,CmF30EE,yEpFyOI,eCwnEN,CqF72EI,2BtF8FA,4BCqzEJ,CDlzEM,iCACE,gCCozER,CDjzEM,kCACE,+BCmzER,CoBh6ES,4ErBqGL,4BCq0EJ,CDl0EM,wFACE,gCCo0ER,CDj0EM,0FACE,+BCm0ER,CsFz7EE,kBvF8GE,4BC+1EJ,CD51EM,wBACE,gCC81ER,CD31EM,yBACE,+BC61ER,CoB18ES,0DrBqGL,4BC+2EJ,CD52EM,sEACE,gCC82ER,CD32EM,wEACE,+BC62ER,CK79EA,uCiDcM,uZtDo9EN,CuFv+EE,kBGFI,W1F2/EN,CuF/9EI,+BxFmFA,4BAAA,CAuJE,eC6xEN,CDj7EM,qCACE,gCCm7ER,CDh7EM,sCACE,+BCk7ER,CoB/hFS,oFrBqGL,4BCo8EJ,CDj8EM,gGACE,gCCm8ER,CDh8EM,kGACE,+BCk8ER,CuFthFI,gCxF4EA,4BCy9EJ,CDt9EM,sCACE,gCCw9ER,CDr9EM,uCACE,+BCu9ER,CoBpkFS,sFrBqGL,4BCy+EJ,CDt+EM,kGACE,gCCw+ER,CDr+EM,oGACE,+BCu+ER,CuFtjFM,qExFuEF,4BC0/EJ,CDv/EM,2EACE,gCCy/ER,CDt/EM,4EACE,+BCw/ER,CoBrmFS,gKrBqGL,4BC2gFJ,CDxgFM,4KACE,gCC0gFR,CDvgFM,8KACE,+BCygFR,CuF3kFI,2BxF0DA,4BC8hFJ,CD3hFM,iCACE,gCC6hFR,CD1hFM,kCACE,+BC4hFR,CoBzoFS,4ErBqGL,4BC8iFJ,CD3iFM,wFACE,gCC6iFR,CD1iFM,0FACE,+BC4iFR,CuF3mFM,iCxFuDF,4BC+jFJ,CD5jFM,uCACE,gCC8jFR,CD3jFM,wCACE,+BC6jFR,CoB1qFS,wFrBqGL,4BCglFJ,CD7kFM,oGACE,gCC+kFR,CD5kFM,sGACE,+BC8kFR,CA97EF,CyFvQI,yH3DHF,iC/ByQM,eCqWN,CAVF,C2F3lBI,kCvDsCA,oBrCZA,gCC+lBF,CoC3kBM,wCrCpBJ,+BComBF,CqF9mBE,2CtFUA,6BCo6EF,CAp0DF,C2F1nBI,kCJLF,WxF+BE,qBCs+EF,CuFx8EE,4BxF9BA,+BC0qFF,CAnMF,CyFvgFI,yHFCF,WGDM,W1F2gFN,CuF7/EI,kBKfA,sBAAA,CADA,Y5FmhFJ,CuF//EI,oBxFoPE,eCgxEN,CAVF","file":"dsfr.print.min.css","sourcesContent":[null,"@media print {\n @import 'index';\n @import 'style/scheme';\n\n @include _core-scheme('print');\n\n @import 'style/print';\n}\n","////\n/// Core Scheme : Reset body\n/// @group core\n////\n\n@use 'module/color';\n\n@mixin _core-reset-body-scheme($legacy: false) {\n @if (map-get($reset-settings, body)) {\n body {\n @include color.background(default grey, (legacy:$legacy));\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'module/legacy';\n@use 'module/media-query';\n@use 'module/spacing';\n@use 'module/specificity';\n@use 'module/string';\n@use 'module/utilities';\n@use '../variable/constant';\n@use '../function/box-shadow' as bs;\n@use '../function/colors';\n@use '../function/result';\n@use '../function/token';\n\n$COLOR: constant.$value;\n\n@mixin element($prop, $context, $tokens, $options: (), $value: $COLOR) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $standalone: map.get($options, standalone);\n\n $legacy-target: null;\n @if $legacy == true {\n $legacy-target: ie11;\n }\n\n $tokens: token.normalise($tokens, $context);\n $type: decision;\n $options: (var: true);\n\n @if $legacy or $standalone {\n $type: hex;\n $option: (theme: light);\n }\n\n $colors: colors.from-list($tokens, $type, $options);\n $result: result.get($colors, $value);\n $result: specificity.important($result, $important);\n\n @include legacy.is($legacy-target) {\n #{$prop}: #{string.unstringify($result)};\n }\n\n @if ($hover == true or ($hover == inherit and $legacy == false)) and ($context == background and list.length($tokens) == 1) {\n\n $token: nth($tokens, 1);\n @if $legacy or $standalone {\n @include _apply-pseudos($token, false, true, $legacy-target, $prop, $value, $important);\n }\n @else {\n @if $prop == background-color {\n --idle: transparent; // #{$result};\n @include _apply-pseudos($token, true, false, null, $prop, $value, $important);\n }\n @else {\n @include _apply-pseudos($token, true, true, null, $prop, $value, $important);\n }\n }\n }\n}\n\n@mixin _apply-pseudos($token, $decision: true, $pseudo: false, $target: null, $prop: background-color, $value: constant.$value, $important: false) {\n @include legacy.is($target) {\n @include _apply-pseudo($token, hover, $decision, $pseudo, $prop, $value, $important);\n @include _apply-pseudo($token, active, $decision, $pseudo, $prop, $value, $important);\n }\n}\n\n@mixin _apply-pseudo($token, $type, $decision: true, $pseudo: false, $prop: background-color, $value: constant.$value, $important: false) {\n $nest: null;\n $p: --#{$type};\n @if $pseudo {\n $nest: '&:#{$type}';\n $p: $prop;\n }\n\n $t: hex;\n $options: (#{$type}: true);\n @if $decision {\n $t: decision;\n $options: (var: true, #{$type}: true);\n }\n\n $color: colors.from($token, $t, $options);\n $result: result.get($color, $value);\n $result: specificity.important($result, $important);\n\n @include utilities.nest($nest) {\n #{$p}: #{string.unstringify($result)};\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background($tokens, $options:()) {\n @if not map.has-key($options, hover) {\n $options: map.merge($options, (hover: inherit));\n }\n @include element(background-color, background, $tokens, $options);\n}\n\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - hover {boolean}: si true, surcharge la valeur de blend pour être héritée\n@mixin transparent-background($options) {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $hover: map.get($options, hover);\n $tokens: token.normalise(default grey, background);\n $value: specificity.important(transparent, $important);\n\n @if $legacy {\n @include legacy.is(ie11) {\n background-color: transparent;\n\n @if $hover {\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n }\n }\n }\n @else {\n background-color: #{$value};\n @if $hover {\n --hover: inherit;\n --active: inherit;\n }\n }\n}\n\n/// Ajout d'une couleur de background sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin background-image($tokens, $options, $value: linear-gradient(0deg, $COLOR, $COLOR)) {\n $d: token.length($tokens);\n @if $d > 1 and $value == linear-gradient(0deg, $COLOR, $COLOR) {\n $transformed: ();\n @for $i from 1 through $d {\n $c: string.unquote('$color##{$i}');\n $transformed: list.append($transformed, linear-gradient(0deg, $c, $c), comma);\n }\n $value: $transformed;\n }\n @include element(background-image, background, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text($tokens, $options) {\n @include element(color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de texte sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin text-fill($tokens, $options) {\n @include element(-webkit-text-fill-color, text, $tokens, $options);\n}\n\n/// Ajout d'une couleur de fill sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n@mixin fill($tokens, $options) {\n @include element(fill, background , $tokens, $options);\n}\n\n/// Ajout d'une couleur de border sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// - side {String}: le côté affecté. valeurs: top, right, bottom, left\n/// @param {List} $value - définition des propriétés de border\n@mixin border($tokens, $options, $value:1px solid $COLOR) {\n $prop:border;\n @if map.has-key($options, side) {\n $prop:border-#{map.get($options, side)};\n }\n @include element($prop, border, $tokens, $options, $value);\n}\n\n@mixin no-border($options: ()) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n border: 0;\n }\n }\n @else {\n border: 0;\n }\n }\n}\n\n/// Ajout d'une couleur d'outline sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés d'outline\n@mixin outline($tokens, $options, $value:1px solid $COLOR) {\n @include element(outline, border, $tokens, $options, $value);\n}\n\n/// Ajout d'une couleur de box-shadow sur un élément\n/// @access public\n/// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {List} $value - définition des propriétés de box-shadow\n@mixin box-shadow($tokens, $options, $value: all-1-in) {\n $has-keys: true;\n $transformed: ();\n $d: token.length($tokens);\n $i: 1;\n @each $v in $value {\n @if bs.has($v) {\n $transformed: append($transformed, bs.get($v, $i), comma);\n @if $i < $d {\n $i: $i + 1;\n }\n }\n @else {\n $has-keys: false;\n }\n }\n @if $has-keys {\n $value: $transformed;\n }\n @include element(box-shadow, border, $tokens, $options, spacing.space($value));\n}\n\n/// Supprime la shadow-box sur l'élément\n/// @access public\n/// @param {string} $breakpoint - la shadow-box est retiré à partir d'un breakpoint si celui-ci est défini\n@mixin no-box-shadow($options) {\n $breakpoint: map.get($options, breakpoint);\n $legacy: map.get($options, legacy);\n @include media-query.respond-from($breakpoint) {\n @if $legacy {\n @include legacy.is(ie11) {\n box-shadow: none;\n }\n }\n @else {\n box-shadow: none;\n }\n }\n}\n","@charset \"UTF-8\";\n@media print {\n body {\n background-color: #fff;\n color: #3a3a3a;\n }\n a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, textarea:disabled, video:not([href]), audio:not([href]) {\n color: #929292;\n }\n .fr-artwork-decorative {\n fill: #ececfe;\n }\n .fr-artwork-minor {\n fill: #e1000f;\n }\n .fr-artwork-major {\n fill: #000091;\n }\n .fr-artwork-background {\n fill: #f6f6f6;\n }\n .fr-artwork-motif {\n fill: #e5e5e5;\n }\n .fr-artwork--green-tilleul-verveine .fr-artwork-minor {\n fill: #b7a73f;\n }\n .fr-artwork--green-bourgeon .fr-artwork-minor {\n fill: #68a532;\n }\n .fr-artwork--green-emeraude .fr-artwork-minor {\n fill: #00a95f;\n }\n .fr-artwork--green-menthe .fr-artwork-minor {\n fill: #009081;\n }\n .fr-artwork--green-archipel .fr-artwork-minor {\n fill: #009099;\n }\n .fr-artwork--blue-ecume .fr-artwork-minor {\n fill: #465f9d;\n }\n .fr-artwork--blue-cumulus .fr-artwork-minor {\n fill: #417dc4;\n }\n .fr-artwork--purple-glycine .fr-artwork-minor {\n fill: #a558a0;\n }\n .fr-artwork--pink-macaron .fr-artwork-minor {\n fill: #e18b76;\n }\n .fr-artwork--pink-tuile .fr-artwork-minor {\n fill: #ce614a;\n }\n .fr-artwork--yellow-tournesol .fr-artwork-minor {\n fill: #c8aa39;\n }\n .fr-artwork--yellow-moutarde .fr-artwork-minor {\n fill: #c3992a;\n }\n .fr-artwork--orange-terre-battue .fr-artwork-minor {\n fill: #e4794a;\n }\n .fr-artwork--brown-cafe-creme .fr-artwork-minor {\n fill: #d1b781;\n }\n .fr-artwork--brown-caramel .fr-artwork-minor {\n fill: #c08c65;\n }\n .fr-artwork--brown-opera .fr-artwork-minor {\n fill: #bd987a;\n }\n .fr-artwork--beige-gris-galet .fr-artwork-minor {\n fill: #aea397;\n }\n [disabled] .fr-artwork * {\n fill: #929292;\n }\n .fr-h6, .fr-h5, .fr-h4, .fr-h3, .fr-h2, .fr-h1, .fr-display-xs, .fr-display-sm, .fr-display-md, .fr-display-lg, .fr-display-xl {\n color: #161616;\n }\n h6, h5, h4, h3, h2, h1 {\n color: #161616;\n }\n hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-hr-or::before, .fr-hr-or::after {\n background-color: #ddd;\n }\n .fr-hr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-no-print {\n display: none;\n }\n h1,\n h2,\n h3,\n h4 {\n page-break-after: avoid;\n break-after: avoid;\n }\n p {\n orphans: 3;\n widows: 3;\n }\n .fr-text--sm,\n .fr-text--xs {\n font-size: 1rem !important;\n line-height: 1.5rem !important;\n margin: var(--text-spacing);\n }\n}\n@media print {\n .fr-upload {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-accordion::before {\n box-shadow: inset 0 1px 0 0 #ddd, 0 1px 0 0 #ddd;\n }\n .fr-accordion__btn {\n color: #000091;\n }\n .fr-accordion__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-accordion__btn::after {\n transform: rotate(-180deg);\n }\n .fr-accordion .fr-collapse:not(.fr-collapse--expanded) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n visibility: visible;\n padding: 1rem;\n }\n}\n@media print {\n .fr-badge {\n color: #3a3a3a;\n background-color: #eee;\n }\n .fr-badge--info {\n color: #0063cb;\n background-color: #e8edff;\n }\n .fr-badge--error {\n color: #ce0500;\n background-color: #ffe9e9;\n }\n .fr-badge--success {\n color: #18753c;\n background-color: #b8fec9;\n }\n .fr-badge--warning {\n color: #b34000;\n background-color: #ffe9e6;\n }\n .fr-badge--new {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--green-tilleul-verveine {\n color: #66673d;\n background-color: #fceeac;\n }\n .fr-badge--green-bourgeon {\n color: #447049;\n background-color: #c9fcac;\n }\n .fr-badge--green-emeraude {\n color: #297254;\n background-color: #c3fad5;\n }\n .fr-badge--green-menthe {\n color: #37635f;\n background-color: #bafaee;\n }\n .fr-badge--green-archipel {\n color: #006a6f;\n background-color: #c7f6fc;\n }\n .fr-badge--blue-ecume {\n color: #2f4077;\n background-color: #e9edfe;\n }\n .fr-badge--blue-cumulus {\n color: #3558a2;\n background-color: #e6eefe;\n }\n .fr-badge--purple-glycine {\n color: #6e445a;\n background-color: #fee7fc;\n }\n .fr-badge--pink-macaron {\n color: #8d533e;\n background-color: #fee9e6;\n }\n .fr-badge--pink-tuile {\n color: #a94645;\n background-color: #fee9e7;\n }\n .fr-badge--yellow-tournesol {\n color: #716043;\n background-color: #feecc2;\n }\n .fr-badge--yellow-moutarde {\n color: #695240;\n background-color: #feebd0;\n }\n .fr-badge--orange-terre-battue {\n color: #755348;\n background-color: #fee9e5;\n }\n .fr-badge--brown-cafe-creme {\n color: #685c48;\n background-color: #f7ecdb;\n }\n .fr-badge--brown-caramel {\n color: #845d48;\n background-color: #f7ebe5;\n }\n .fr-badge--brown-opera {\n color: #745b47;\n background-color: #f7ece4;\n }\n .fr-badge--beige-gris-galet {\n color: #6a6156;\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-logo {\n color: #000;\n }\n .fr-logo::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n@media print {\n .fr-btn {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-btn:hover {\n background-color: #1212ff;\n }\n .fr-btn:active {\n background-color: #2323ff;\n }\n .fr-btn:disabled, a.fr-btn:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-btn--secondary {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary {\n background-color: transparent;\n }\n .fr-btn--secondary:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--secondary:disabled, a.fr-btn--secondary:not([href]) {\n background-color: transparent;\n }\n .fr-btn--secondary:disabled:hover, a.fr-btn--secondary:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--secondary:disabled:active, a.fr-btn--secondary:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary, .fr-btn--account {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary, .fr-btn--account {\n background-color: transparent;\n }\n .fr-btn--tertiary:hover, .fr-btn--account:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:active, .fr-btn--account:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary:disabled, a.fr-btn--tertiary:not([href]), a.fr-btn--account:not([href]), .fr-btn--account:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary:disabled:hover, a.fr-btn--tertiary:not([href]):hover, a.fr-btn--account:not([href]):hover, .fr-btn--account:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary:disabled:active, a.fr-btn--tertiary:not([href]):active, a.fr-btn--account:not([href]):active, .fr-btn--account:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip, .fr-btn--briefcase, .fr-btn--team {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:hover, .fr-btn--close:hover, .fr-btn--display:hover, .fr-btn--fullscreen:hover, .fr-btn--tooltip:hover, .fr-btn--briefcase:hover, .fr-btn--team:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:active, .fr-btn--close:active, .fr-btn--display:active, .fr-btn--fullscreen:active, .fr-btn--tooltip:active, .fr-btn--briefcase:active, .fr-btn--team:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-btn--tertiary-no-outline:disabled, a.fr-btn--tertiary-no-outline:not([href]), a.fr-btn--close:not([href]), a.fr-btn--display:not([href]), a.fr-btn--fullscreen:not([href]), a.fr-btn--tooltip:not([href]), a.fr-btn--briefcase:not([href]), a.fr-btn--team:not([href]), .fr-btn--close:disabled, .fr-btn--display:disabled, .fr-btn--fullscreen:disabled, .fr-btn--tooltip:disabled, .fr-btn--briefcase:disabled, .fr-btn--team:disabled {\n background-color: transparent;\n }\n .fr-btn--tertiary-no-outline:disabled:hover, a.fr-btn--tertiary-no-outline:not([href]):hover, a.fr-btn--close:not([href]):hover, a.fr-btn--display:not([href]):hover, a.fr-btn--fullscreen:not([href]):hover, a.fr-btn--tooltip:not([href]):hover, a.fr-btn--briefcase:not([href]):hover, a.fr-btn--team:not([href]):hover, .fr-btn--close:disabled:hover, .fr-btn--display:disabled:hover, .fr-btn--fullscreen:disabled:hover, .fr-btn--tooltip:disabled:hover, .fr-btn--briefcase:disabled:hover, .fr-btn--team:disabled:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-btn--tertiary-no-outline:disabled:active, a.fr-btn--tertiary-no-outline:not([href]):active, a.fr-btn--close:not([href]):active, a.fr-btn--display:not([href]):active, a.fr-btn--fullscreen:not([href]):active, a.fr-btn--tooltip:not([href]):active, a.fr-btn--briefcase:not([href]):active, a.fr-btn--team:not([href]):active, .fr-btn--close:disabled:active, .fr-btn--display:disabled:active, .fr-btn--fullscreen:disabled:active, .fr-btn--tooltip:disabled:active, .fr-btn--briefcase:disabled:active, .fr-btn--team:disabled:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-btn--secondary, .fr-btn--tertiary, .fr-btn--tertiary-no-outline, .fr-btn--close, .fr-btn--display, .fr-btn--fullscreen, .fr-btn--tooltip {\n background-color: transparent;\n }\n}\n@media print {\n .fr-connect {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-connect:disabled, a.fr-connect:not([href]) {\n background-color: #e5e5e5;\n color: #929292;\n }\n .fr-connect-group .fr-connect + p a {\n color: #000091;\n }\n .fr-connect-group p {\n color: #666;\n }\n .fr-connect-group p {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-connect-group .fr-connect + p a {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-quote {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-quote::before {\n color: #6a6af4;\n }\n .fr-quote--green-tilleul-verveine::before {\n color: #b7a73f;\n }\n .fr-quote--green-bourgeon::before {\n color: #68a532;\n }\n .fr-quote--green-emeraude::before {\n color: #00a95f;\n }\n .fr-quote--green-menthe::before {\n color: #009081;\n }\n .fr-quote--green-archipel::before {\n color: #009099;\n }\n .fr-quote--blue-ecume::before {\n color: #465f9d;\n }\n .fr-quote--blue-cumulus::before {\n color: #417dc4;\n }\n .fr-quote--purple-glycine::before {\n color: #a558a0;\n }\n .fr-quote--pink-macaron::before {\n color: #e18b76;\n }\n .fr-quote--pink-tuile::before {\n color: #ce614a;\n }\n .fr-quote--yellow-tournesol::before {\n color: #c8aa39;\n }\n .fr-quote--yellow-moutarde::before {\n color: #c3992a;\n }\n .fr-quote--orange-terre-battue::before {\n color: #e4794a;\n }\n .fr-quote--brown-cafe-creme::before {\n color: #d1b781;\n }\n .fr-quote--brown-caramel::before {\n color: #c08c65;\n }\n .fr-quote--brown-opera::before {\n color: #bd987a;\n }\n .fr-quote--beige-gris-galet::before {\n color: #aea397;\n }\n .fr-quote__source {\n color: #666;\n }\n .fr-quote__author,\n .fr-quote cite,\n .fr-quote figcaption li {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-breadcrumb {\n color: #666;\n }\n .fr-breadcrumb__link[aria-current]:not([aria-current=false]) {\n color: #3a3a3a;\n }\n .fr-breadcrumb {\n display: none;\n }\n}\n@media print {\n .fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {\n color: #18753c;\n }\n .fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {\n color: #ce0500;\n }\n .fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {\n color: #0063cb;\n }\n .fr-select-group--disabled label,\n .fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,\n .fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,\n .fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,\n .fr-upload-group--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-label {\n color: #161616;\n }\n .fr-label--error {\n color: #ce0500;\n }\n .fr-label--success {\n color: #18753c;\n }\n .fr-label--info {\n color: #0063cb;\n }\n .fr-label--disabled, .fr-label--disabled .fr-hint-text {\n color: #929292;\n }\n .fr-hint-text,\n .fr-message {\n color: #666;\n }\n .fr-message--error {\n color: #ce0500;\n }\n .fr-message--valid {\n color: #18753c;\n }\n .fr-message--info {\n color: #0063cb;\n }\n .fr-fieldset:disabled .fr-label,\n .fr-fieldset:disabled .fr-hint-text,\n .fr-fieldset:disabled .fr-fieldset__legend {\n color: #929292;\n }\n .fr-fieldset input:disabled + label,\n .fr-fieldset input:disabled + label .fr-hint-text,\n .fr-fieldset input:disabled + label + .fr-hint-text {\n color: #929292;\n }\n .fr-fieldset__legend {\n color: #161616;\n }\n .fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {\n color: #ce0500;\n }\n .fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {\n color: #18753c;\n }\n .fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {\n color: #0063cb;\n }\n .fr-hint-text,\n .fr-message {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-stepper__title {\n color: #161616;\n }\n .fr-stepper__state {\n color: #666;\n }\n .fr-stepper__details {\n color: #666;\n }\n .fr-stepper__steps {\n background-image: repeating-linear-gradient(to right, #000091 0, #000091 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) ), repeating-linear-gradient(to right, #eee 0, #eee var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) );\n }\n .fr-stepper__state, .fr-stepper__details {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tooltip {\n color: #3a3a3a;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tooltip.fr-placement {\n z-index: 1000;\n }\n}\n@media print {\n .fr-tooltip.fr-placement--top {\n background-image: conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from -33.69deg at 50% 100%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip.fr-placement--bottom {\n background-image: conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #fff 0deg, #fff 67.38deg, transparent 67.38deg), conic-gradient(from 146.31deg at 50% 0%, transparent 0deg, #ddd 0deg, #ddd 67.38deg, transparent 67.38deg), linear-gradient(90deg, #ddd, #ddd), linear-gradient(90deg, #fff, #fff);\n }\n}\n@media print {\n .fr-tooltip {\n display: none;\n }\n}\n@media print {\n .fr-link {\n color: #000091;\n }\n .fr-link__detail {\n color: #666;\n }\n .fr-links-group li::marker {\n color: #000091;\n }\n .fr-links-group--bordered {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-sidemenu {\n box-shadow: inset 0 -1px 0 0 #ddd, inset 0 1px 0 0 #ddd;\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__title {\n color: #161616;\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) and (-ms-high-contrast: none), print and (min-width: 48em) and (-ms-high-contrast: active) {\n .fr-sidemenu__title {\n box-shadow: none;\n }\n}\n@media print {\n .fr-sidemenu__item .fr-sidemenu__link,\n .fr-sidemenu__item .fr-sidemenu__btn {\n color: #161616;\n }\n .fr-sidemenu__item::before {\n box-shadow: 0 -1px 0 0 #ddd, inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:first-child::before {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n .fr-sidemenu__item:last-child::before {\n box-shadow: 0 -1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu__inner {\n box-shadow: inset -1px 0 0 0 #ddd;\n }\n}\n@media print and (min-width: 48em) {\n .fr-sidemenu--right .fr-sidemenu__inner {\n box-shadow: inset 1px 0 0 0 #ddd;\n }\n}\n@media print {\n .fr-sidemenu__link, .fr-sidemenu__btn {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false]), .fr-sidemenu__btn[aria-current]:not([aria-current=false]) {\n color: #000091;\n }\n .fr-sidemenu__link[aria-current]:not([aria-current=false])::before, .fr-sidemenu__btn[aria-current]:not([aria-current=false])::before {\n background-color: #000091;\n }\n}\n@media print {\n .fr-sidemenu__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n}\n@media print {\n .fr-sidemenu {\n display: none;\n }\n}\n@media print {\n .fr-highlight {\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-highlight--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-highlight--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-highlight--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-highlight--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-highlight--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-highlight--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-highlight--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-highlight--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-highlight--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-highlight--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-highlight--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-highlight--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-highlight--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-highlight--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-highlight--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-highlight--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-highlight--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n}\n@media print {\n .fr-tabs {\n box-shadow: inset 0 -1px 0 0 #ddd;\n /**\n * Tab button\n */\n }\n .fr-tabs::before {\n box-shadow: inset 0 1px 0 0 #ddd, inset 1px 0 0 0 #ddd, inset -1px 0 0 0 #ddd;\n }\n .fr-tabs__tab {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n box-shadow: 0 2px 0 0 #fff;\n }\n .fr-tabs__tab:not([aria-selected=true]) {\n background-color: #e3e3fd;\n color: #161616;\n }\n .fr-tabs__tab[aria-selected=true]:not(:disabled) {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n color: #000091;\n }\n .fr-tabs__tab:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-pagination {\n color: #161616;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]) {\n background-color: #000091;\n color: #f5f5fe;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):hover {\n background-color: #1212ff;\n }\n .fr-pagination__link[aria-current]:not([aria-current=false]):active {\n background-color: #2323ff;\n }\n .fr-pagination__link:not([aria-current]):disabled, a.fr-pagination__link:not([aria-current]):not([href]), a.fr-pagination__link[aria-current=false]:not([href]), .fr-pagination__link[aria-current=false]:disabled {\n color: #929292;\n }\n}\n@media print {\n .fr-summary {\n background-color: #eee;\n }\n .fr-summary__title {\n color: #161616;\n }\n .fr-summary li > a {\n color: #161616;\n }\n .fr-summary {\n display: none;\n }\n}\n@media print {\n .fr-table {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table caption {\n color: #161616;\n }\n .fr-table thead {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n background-color: #eee;\n color: #161616;\n }\n .fr-table tbody {\n background-color: #f6f6f6;\n }\n .fr-table tbody tr:nth-child(even) {\n background-color: #eee;\n }\n .fr-table--green-tilleul-verveine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-tilleul-verveine thead {\n background-image: linear-gradient(0deg, #66673d, #66673d);\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine tbody {\n background-color: #fef7da;\n }\n .fr-table--green-tilleul-verveine tbody tr:nth-child(even) {\n background-color: #fceeac;\n }\n .fr-table--green-tilleul-verveine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n }\n .fr-table--green-bourgeon {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-bourgeon thead {\n background-image: linear-gradient(0deg, #447049, #447049);\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon tbody {\n background-color: #e6feda;\n }\n .fr-table--green-bourgeon tbody tr:nth-child(even) {\n background-color: #c9fcac;\n }\n .fr-table--green-bourgeon.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n }\n .fr-table--green-emeraude {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-emeraude thead {\n background-image: linear-gradient(0deg, #297254, #297254);\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude tbody {\n background-color: #e3fdeb;\n }\n .fr-table--green-emeraude tbody tr:nth-child(even) {\n background-color: #c3fad5;\n }\n .fr-table--green-emeraude.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n }\n .fr-table--green-menthe {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-menthe thead {\n background-image: linear-gradient(0deg, #37635f, #37635f);\n background-color: #bafaee;\n }\n .fr-table--green-menthe tbody {\n background-color: #dffdf7;\n }\n .fr-table--green-menthe tbody tr:nth-child(even) {\n background-color: #bafaee;\n }\n .fr-table--green-menthe.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009081, #009081);\n }\n .fr-table--green-archipel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--green-archipel thead {\n background-image: linear-gradient(0deg, #006a6f, #006a6f);\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel tbody {\n background-color: #e5fbfd;\n }\n .fr-table--green-archipel tbody tr:nth-child(even) {\n background-color: #c7f6fc;\n }\n .fr-table--green-archipel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #009099, #009099);\n }\n .fr-table--blue-ecume {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-ecume thead {\n background-image: linear-gradient(0deg, #2f4077, #2f4077);\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume tbody {\n background-color: #f4f6fe;\n }\n .fr-table--blue-ecume tbody tr:nth-child(even) {\n background-color: #e9edfe;\n }\n .fr-table--blue-ecume.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n }\n .fr-table--blue-cumulus {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--blue-cumulus thead {\n background-image: linear-gradient(0deg, #3558a2, #3558a2);\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus tbody {\n background-color: #f3f6fe;\n }\n .fr-table--blue-cumulus tbody tr:nth-child(even) {\n background-color: #e6eefe;\n }\n .fr-table--blue-cumulus.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n }\n .fr-table--purple-glycine {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--purple-glycine thead {\n background-image: linear-gradient(0deg, #6e445a, #6e445a);\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine tbody {\n background-color: #fef3fd;\n }\n .fr-table--purple-glycine tbody tr:nth-child(even) {\n background-color: #fee7fc;\n }\n .fr-table--purple-glycine.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n }\n .fr-table--pink-macaron {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-macaron thead {\n background-image: linear-gradient(0deg, #8d533e, #8d533e);\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron tbody {\n background-color: #fef4f2;\n }\n .fr-table--pink-macaron tbody tr:nth-child(even) {\n background-color: #fee9e6;\n }\n .fr-table--pink-macaron.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n }\n .fr-table--pink-tuile {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--pink-tuile thead {\n background-image: linear-gradient(0deg, #a94645, #a94645);\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile tbody {\n background-color: #fef4f3;\n }\n .fr-table--pink-tuile tbody tr:nth-child(even) {\n background-color: #fee9e7;\n }\n .fr-table--pink-tuile.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n }\n .fr-table--yellow-tournesol {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-tournesol thead {\n background-image: linear-gradient(0deg, #716043, #716043);\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol tbody {\n background-color: #fef6e3;\n }\n .fr-table--yellow-tournesol tbody tr:nth-child(even) {\n background-color: #feecc2;\n }\n .fr-table--yellow-tournesol.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n }\n .fr-table--yellow-moutarde {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--yellow-moutarde thead {\n background-image: linear-gradient(0deg, #695240, #695240);\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde tbody {\n background-color: #fef5e8;\n }\n .fr-table--yellow-moutarde tbody tr:nth-child(even) {\n background-color: #feebd0;\n }\n .fr-table--yellow-moutarde.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n }\n .fr-table--orange-terre-battue {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--orange-terre-battue thead {\n background-image: linear-gradient(0deg, #755348, #755348);\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue tbody {\n background-color: #fef4f2;\n }\n .fr-table--orange-terre-battue tbody tr:nth-child(even) {\n background-color: #fee9e5;\n }\n .fr-table--orange-terre-battue.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n }\n .fr-table--brown-cafe-creme {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-cafe-creme thead {\n background-image: linear-gradient(0deg, #685c48, #685c48);\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme tbody {\n background-color: #fbf6ed;\n }\n .fr-table--brown-cafe-creme tbody tr:nth-child(even) {\n background-color: #f7ecdb;\n }\n .fr-table--brown-cafe-creme.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n }\n .fr-table--brown-caramel {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-caramel thead {\n background-image: linear-gradient(0deg, #845d48, #845d48);\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-caramel tbody tr:nth-child(even) {\n background-color: #f7ebe5;\n }\n .fr-table--brown-caramel.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n }\n .fr-table--brown-opera {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--brown-opera thead {\n background-image: linear-gradient(0deg, #745b47, #745b47);\n background-color: #f7ece4;\n }\n .fr-table--brown-opera tbody {\n background-color: #fbf5f2;\n }\n .fr-table--brown-opera tbody tr:nth-child(even) {\n background-color: #f7ece4;\n }\n .fr-table--brown-opera.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n }\n .fr-table--beige-gris-galet {\n /* Style bordered, ajoute des bordures entre chaque ligne */\n }\n .fr-table--beige-gris-galet thead {\n background-image: linear-gradient(0deg, #6a6156, #6a6156);\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet tbody {\n background-color: #f9f6f2;\n }\n .fr-table--beige-gris-galet tbody tr:nth-child(even) {\n background-color: #f3ede5;\n }\n .fr-table--beige-gris-galet.fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n }\n .fr-table--bordered tbody tr {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n /* Style bordered, enleve le style even/odd */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-table--bordered tbody tr:nth-child(even) {\n background-color: transparent;\n }\n .fr-table--bordered tbody tr:nth-child(even):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-table--bordered tbody tr:nth-child(even):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-table td,\n .fr-table th {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-tag {\n color: #161616;\n background-color: #eee;\n }\n .fr-tag[aria-pressed=false] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-tag[aria-pressed=false]:hover {\n background-color: #c1c1fb;\n }\n .fr-tag[aria-pressed=false]:active {\n background-color: #adadf9;\n }\n .fr-tag.fr-tag--dismiss {\n color: #f5f5fe;\n background-color: #000091;\n }\n .fr-tag.fr-tag--dismiss:hover {\n background-color: #1212ff;\n }\n .fr-tag.fr-tag--dismiss:active {\n background-color: #2323ff;\n }\n a[href].fr-tag,\n button.fr-tag,\n input[type=button].fr-tag {\n color: #000091;\n background-color: #e3e3fd;\n }\n a[href].fr-tag:hover,\n button.fr-tag:hover,\n input[type=button].fr-tag:hover {\n background-color: #c1c1fb;\n }\n a[href].fr-tag:active,\n button.fr-tag:active,\n input[type=button].fr-tag:active {\n background-color: #adadf9;\n }\n a[href].fr-tag--green-tilleul-verveine,\n button.fr-tag--green-tilleul-verveine,\n input[type=button].fr-tag--green-tilleul-verveine {\n color: #66673d;\n background-color: #fbe769;\n }\n a[href].fr-tag--green-tilleul-verveine:hover,\n button.fr-tag--green-tilleul-verveine:hover,\n input[type=button].fr-tag--green-tilleul-verveine:hover {\n background-color: #d7c655;\n }\n a[href].fr-tag--green-tilleul-verveine:active,\n button.fr-tag--green-tilleul-verveine:active,\n input[type=button].fr-tag--green-tilleul-verveine:active {\n background-color: #c2b24c;\n }\n a[href].fr-tag--green-bourgeon,\n button.fr-tag--green-bourgeon,\n input[type=button].fr-tag--green-bourgeon {\n color: #447049;\n background-color: #a9fb68;\n }\n a[href].fr-tag--green-bourgeon:hover,\n button.fr-tag--green-bourgeon:hover,\n input[type=button].fr-tag--green-bourgeon:hover {\n background-color: #8ed654;\n }\n a[href].fr-tag--green-bourgeon:active,\n button.fr-tag--green-bourgeon:active,\n input[type=button].fr-tag--green-bourgeon:active {\n background-color: #7fc04b;\n }\n a[href].fr-tag--green-emeraude,\n button.fr-tag--green-emeraude,\n input[type=button].fr-tag--green-emeraude {\n color: #297254;\n background-color: #9ef9be;\n }\n a[href].fr-tag--green-emeraude:hover,\n button.fr-tag--green-emeraude:hover,\n input[type=button].fr-tag--green-emeraude:hover {\n background-color: #69df97;\n }\n a[href].fr-tag--green-emeraude:active,\n button.fr-tag--green-emeraude:active,\n input[type=button].fr-tag--green-emeraude:active {\n background-color: #5ec988;\n }\n a[href].fr-tag--green-menthe,\n button.fr-tag--green-menthe,\n input[type=button].fr-tag--green-menthe {\n color: #37635f;\n background-color: #8bf8e7;\n }\n a[href].fr-tag--green-menthe:hover,\n button.fr-tag--green-menthe:hover,\n input[type=button].fr-tag--green-menthe:hover {\n background-color: #6ed5c5;\n }\n a[href].fr-tag--green-menthe:active,\n button.fr-tag--green-menthe:active,\n input[type=button].fr-tag--green-menthe:active {\n background-color: #62bfb1;\n }\n a[href].fr-tag--green-archipel,\n button.fr-tag--green-archipel,\n input[type=button].fr-tag--green-archipel {\n color: #006a6f;\n background-color: #a6f2fa;\n }\n a[href].fr-tag--green-archipel:hover,\n button.fr-tag--green-archipel:hover,\n input[type=button].fr-tag--green-archipel:hover {\n background-color: #62dbe5;\n }\n a[href].fr-tag--green-archipel:active,\n button.fr-tag--green-archipel:active,\n input[type=button].fr-tag--green-archipel:active {\n background-color: #58c5cf;\n }\n a[href].fr-tag--blue-ecume,\n button.fr-tag--blue-ecume,\n input[type=button].fr-tag--blue-ecume {\n color: #2f4077;\n background-color: #dee5fd;\n }\n a[href].fr-tag--blue-ecume:hover,\n button.fr-tag--blue-ecume:hover,\n input[type=button].fr-tag--blue-ecume:hover {\n background-color: #b4c5fb;\n }\n a[href].fr-tag--blue-ecume:active,\n button.fr-tag--blue-ecume:active,\n input[type=button].fr-tag--blue-ecume:active {\n background-color: #99b3f9;\n }\n a[href].fr-tag--blue-cumulus,\n button.fr-tag--blue-cumulus,\n input[type=button].fr-tag--blue-cumulus {\n color: #3558a2;\n background-color: #dae6fd;\n }\n a[href].fr-tag--blue-cumulus:hover,\n button.fr-tag--blue-cumulus:hover,\n input[type=button].fr-tag--blue-cumulus:hover {\n background-color: #a9c8fb;\n }\n a[href].fr-tag--blue-cumulus:active,\n button.fr-tag--blue-cumulus:active,\n input[type=button].fr-tag--blue-cumulus:active {\n background-color: #8ab8f9;\n }\n a[href].fr-tag--purple-glycine,\n button.fr-tag--purple-glycine,\n input[type=button].fr-tag--purple-glycine {\n color: #6e445a;\n background-color: #fddbfa;\n }\n a[href].fr-tag--purple-glycine:hover,\n button.fr-tag--purple-glycine:hover,\n input[type=button].fr-tag--purple-glycine:hover {\n background-color: #fbaff5;\n }\n a[href].fr-tag--purple-glycine:active,\n button.fr-tag--purple-glycine:active,\n input[type=button].fr-tag--purple-glycine:active {\n background-color: #fa96f2;\n }\n a[href].fr-tag--pink-macaron,\n button.fr-tag--pink-macaron,\n input[type=button].fr-tag--pink-macaron {\n color: #8d533e;\n background-color: #fddfda;\n }\n a[href].fr-tag--pink-macaron:hover,\n button.fr-tag--pink-macaron:hover,\n input[type=button].fr-tag--pink-macaron:hover {\n background-color: #fbb8ab;\n }\n a[href].fr-tag--pink-macaron:active,\n button.fr-tag--pink-macaron:active,\n input[type=button].fr-tag--pink-macaron:active {\n background-color: #faa18d;\n }\n a[href].fr-tag--pink-tuile,\n button.fr-tag--pink-tuile,\n input[type=button].fr-tag--pink-tuile {\n color: #a94645;\n background-color: #fddfdb;\n }\n a[href].fr-tag--pink-tuile:hover,\n button.fr-tag--pink-tuile:hover,\n input[type=button].fr-tag--pink-tuile:hover {\n background-color: #fbb8ad;\n }\n a[href].fr-tag--pink-tuile:active,\n button.fr-tag--pink-tuile:active,\n input[type=button].fr-tag--pink-tuile:active {\n background-color: #faa191;\n }\n a[href].fr-tag--yellow-tournesol,\n button.fr-tag--yellow-tournesol,\n input[type=button].fr-tag--yellow-tournesol {\n color: #716043;\n background-color: #fde39c;\n }\n a[href].fr-tag--yellow-tournesol:hover,\n button.fr-tag--yellow-tournesol:hover,\n input[type=button].fr-tag--yellow-tournesol:hover {\n background-color: #e9c53b;\n }\n a[href].fr-tag--yellow-tournesol:active,\n button.fr-tag--yellow-tournesol:active,\n input[type=button].fr-tag--yellow-tournesol:active {\n background-color: #d3b235;\n }\n a[href].fr-tag--yellow-moutarde,\n button.fr-tag--yellow-moutarde,\n input[type=button].fr-tag--yellow-moutarde {\n color: #695240;\n background-color: #fde2b5;\n }\n a[href].fr-tag--yellow-moutarde:hover,\n button.fr-tag--yellow-moutarde:hover,\n input[type=button].fr-tag--yellow-moutarde:hover {\n background-color: #f6c43c;\n }\n a[href].fr-tag--yellow-moutarde:active,\n button.fr-tag--yellow-moutarde:active,\n input[type=button].fr-tag--yellow-moutarde:active {\n background-color: #dfb135;\n }\n a[href].fr-tag--orange-terre-battue,\n button.fr-tag--orange-terre-battue,\n input[type=button].fr-tag--orange-terre-battue {\n color: #755348;\n background-color: #fddfd8;\n }\n a[href].fr-tag--orange-terre-battue:hover,\n button.fr-tag--orange-terre-battue:hover,\n input[type=button].fr-tag--orange-terre-battue:hover {\n background-color: #fbb8a5;\n }\n a[href].fr-tag--orange-terre-battue:active,\n button.fr-tag--orange-terre-battue:active,\n input[type=button].fr-tag--orange-terre-battue:active {\n background-color: #faa184;\n }\n a[href].fr-tag--brown-cafe-creme,\n button.fr-tag--brown-cafe-creme,\n input[type=button].fr-tag--brown-cafe-creme {\n color: #685c48;\n background-color: #f4e3c7;\n }\n a[href].fr-tag--brown-cafe-creme:hover,\n button.fr-tag--brown-cafe-creme:hover,\n input[type=button].fr-tag--brown-cafe-creme:hover {\n background-color: #e1c386;\n }\n a[href].fr-tag--brown-cafe-creme:active,\n button.fr-tag--brown-cafe-creme:active,\n input[type=button].fr-tag--brown-cafe-creme:active {\n background-color: #ccb078;\n }\n a[href].fr-tag--brown-caramel,\n button.fr-tag--brown-caramel,\n input[type=button].fr-tag--brown-caramel {\n color: #845d48;\n background-color: #f3e2d9;\n }\n a[href].fr-tag--brown-caramel:hover,\n button.fr-tag--brown-caramel:hover,\n input[type=button].fr-tag--brown-caramel:hover {\n background-color: #e7bea6;\n }\n a[href].fr-tag--brown-caramel:active,\n button.fr-tag--brown-caramel:active,\n input[type=button].fr-tag--brown-caramel:active {\n background-color: #e1a982;\n }\n a[href].fr-tag--brown-opera,\n button.fr-tag--brown-opera,\n input[type=button].fr-tag--brown-opera {\n color: #745b47;\n background-color: #f3e2d7;\n }\n a[href].fr-tag--brown-opera:hover,\n button.fr-tag--brown-opera:hover,\n input[type=button].fr-tag--brown-opera:hover {\n background-color: #e7bfa0;\n }\n a[href].fr-tag--brown-opera:active,\n button.fr-tag--brown-opera:active,\n input[type=button].fr-tag--brown-opera:active {\n background-color: #deaa7e;\n }\n a[href].fr-tag--beige-gris-galet,\n button.fr-tag--beige-gris-galet,\n input[type=button].fr-tag--beige-gris-galet {\n color: #6a6156;\n background-color: #eee4d9;\n }\n a[href].fr-tag--beige-gris-galet:hover,\n button.fr-tag--beige-gris-galet:hover,\n input[type=button].fr-tag--beige-gris-galet:hover {\n background-color: #dbc3a4;\n }\n a[href].fr-tag--beige-gris-galet:active,\n button.fr-tag--beige-gris-galet:active,\n input[type=button].fr-tag--beige-gris-galet:active {\n background-color: #c6b094;\n }\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n color: #f5f5fe;\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #000091 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:not(:disabled),\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled) {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):hover,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):hover {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #1212ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:not(:disabled):active,\n input[type=button].fr-tag[aria-pressed=true]:not(:disabled):active {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #2323ff 0.625rem);\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]::after,\n input[type=button].fr-tag[aria-pressed=true]::after {\n color: #000091;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.25rem, transparent 0.578125rem, #e5e5e5 0.625rem);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n button.fr-tag[aria-pressed=true]:disabled,\n input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-color: transparent;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true]:disabled::after,\n input[type=button].fr-tag[aria-pressed=true]:disabled::after {\n color: #929292;\n }\n}\n@media print {\n button.fr-tag[aria-pressed=true].fr-tag--sm,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:hover,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:active,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n button.fr-tag[aria-pressed=true].fr-tag--sm:disabled,\n input[type=button].fr-tag[aria-pressed=true].fr-tag--sm:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n button.fr-tag:disabled,\n input[type=button].fr-tag:disabled {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n a:not([href]).fr-tag {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true],\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true] {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #000091 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:hover,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:hover {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #1212ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:active,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:active {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #2323ff 0.5rem);\n }\n .fr-tags-group.fr-tags-group--sm button.fr-tag[aria-pressed=true]:disabled,\n .fr-tags-group.fr-tags-group--sm input[type=button].fr-tag[aria-pressed=true]:disabled {\n background-image: radial-gradient(circle at 100% 0.1875rem, transparent 0.4475rem, #e5e5e5 0.5rem);\n }\n}\n@media print {\n .fr-alert {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a), linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-alert::before {\n color: #fff;\n }\n .fr-alert--info {\n background-image: linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb), linear-gradient(0deg, #0063cb, #0063cb);\n }\n .fr-alert--error {\n background-image: linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500), linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-alert--success {\n background-image: linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c), linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-alert--warning {\n background-image: linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000), linear-gradient(0deg, #b34000, #b34000);\n }\n}\n@media print {\n .fr-notice {\n background-color: #eee;\n color: #161616;\n }\n .fr-notice--info {\n background-color: #e8edff;\n color: #0063cb;\n }\n}\n@media print {\n .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #000091 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-radio-group input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px);\n }\n .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #ce0500 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px);\n }\n .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #18753c 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio] + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px);\n }\n .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 10px, #0063cb 11px, transparent 12px), radial-gradient(#000091 5px, transparent 6px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px);\n }\n .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 10px, #e5e5e5 11px, transparent 12px), radial-gradient(#e5e5e5 5px, transparent 6px);\n }\n .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-group--sm input[type=radio]:checked:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {\n background-image: radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {\n background-image: radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #000091 7px, transparent 8px);\n background-color: #fff;\n }\n .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {\n fill: #929292;\n }\n .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #000091 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-radio-rich input[type=radio]:checked:disabled + label {\n background-image: linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), linear-gradient(0deg, #929292, #929292), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #e5e5e5, #e5e5e5), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px);\n }\n .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #ce0500 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #18753c 7px, transparent 8px);\n }\n .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #18753c 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio] + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px);\n }\n .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {\n background-image: linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), linear-gradient(0deg, #000091, #000091), radial-gradient(transparent 6px, #0063cb 7px, transparent 8px), radial-gradient(#000091 3px, transparent 4px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px);\n }\n .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), radial-gradient(transparent 6px, #e5e5e5 7px, transparent 8px), radial-gradient(#e5e5e5 3px, transparent 4px);\n }\n}\n@media print {\n .fr-card {\n background-color: #fff;\n }\n .fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-card--grey {\n background-color: #eee;\n }\n .fr-card--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-card--shadow.fr-card--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-card--no-background {\n background-color: transparent;\n }\n .fr-card--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-card--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-card--download:not(.fr-card--no-background) .fr-card__header {\n background-color: #f6f6f6;\n }\n}\n@media print {\n .fr-card__detail {\n color: #666;\n }\n}\n@media print {\n .fr-card__title {\n color: #161616;\n }\n .fr-card__title a[href] {\n color: #000091;\n }\n .fr-card__title:disabled, a.fr-card__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n}\n@media print {\n .fr-card__detail, .fr-card__desc {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-card__detail {\n line-height: 1rem !important;\n }\n}\n@media print {\n .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:checked + label::before {\n background-color: var(--background-active-blue-france);\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-active-blue-france) 4px, var(--border-active-blue-france) 5px, transparent 6px), linear-gradient(var(--border-active-blue-france), var(--border-active-blue-france)), var(--data-uri-svg);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23f5f5fe' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group input[type=checkbox]:disabled + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--background-disabled-grey) 4px, var(--background-disabled-grey) 5px, transparent 6px), linear-gradient(var(--background-disabled-grey), var(--background-disabled-grey)), var(--data-uri-svg);\n }\n .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n background-color: var(--background-disabled-grey);\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n :root[data-fr-theme=dark] .fr-checkbox-group input[type=checkbox]:disabled:checked + label::before {\n --data-uri-svg: url(\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23666' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/></svg>\");\n }\n .fr-checkbox-group--error input[type=checkbox] + label,\n .fr-checkbox-group--error input[type=checkbox]:checked + label {\n color: #ce0500;\n }\n .fr-checkbox-group--error input[type=checkbox] + label::before,\n .fr-checkbox-group--error input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-checkbox-group--error::before {\n background-color: #ce0500;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label {\n color: #18753c;\n }\n .fr-checkbox-group--valid input[type=checkbox] + label::before,\n .fr-checkbox-group--valid input[type=checkbox]:checked + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n .fr-checkbox-group--valid::before {\n background-color: #18753c;\n }\n .fr-fieldset--error .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-error) 4px, var(--border-plain-error) 5px, transparent 6px), linear-gradient(var(--border-plain-error), var(--border-plain-error)), var(--data-uri-svg);\n }\n .fr-fieldset--valid .fr-checkbox-group input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-plain-success) 4px, var(--border-plain-success) 5px, transparent 6px), linear-gradient(var(--border-plain-success), var(--border-plain-success)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-toggle label {\n color: #161616;\n }\n .fr-toggle label::before {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::after {\n color: #000091;\n box-shadow: inset 0 0 0 1px #000091;\n background-color: #fff;\n }\n}\n@media print {\n .fr-toggle input[type=checkbox] {\n box-shadow: inset 0 0 0 1px #000091;\n }\n .fr-toggle input[type=checkbox]:checked {\n background-color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23000091' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000091' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled {\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n .fr-toggle input[type=checkbox]:disabled:checked {\n background-color: #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='%23e5e5e5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled:checked ~ .fr-toggle__label::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M10 15.17l9.2-9.2 1.4 1.42L10 18l-6.36-6.36 1.4-1.42z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23e5e5e5' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle input[type=checkbox]:disabled ~ .fr-toggle__label::after {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print {\n .fr-toggle .fr-hint-text {\n color: #666;\n }\n}\n@media print {\n .fr-toggle--border-bottom {\n box-shadow: inset 0 -1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-toggle--error label,\n .fr-fieldset--error .fr-toggle label {\n color: #ce0500;\n }\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n color: #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error label::before,\n .fr-fieldset--error .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--error label::after,\n .fr-fieldset--error .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--error input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--error .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%23ce0500' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label,\n .fr-fieldset--valid .fr-toggle label {\n color: #18753c;\n }\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n color: #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid label::before,\n .fr-fieldset--valid .fr-toggle label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='transparent' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle--valid label::after,\n .fr-fieldset--valid .fr-toggle label::after {\n box-shadow: inset 0 0 0 1px #18753c;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-toggle--valid input[type=checkbox]:checked ~ .fr-toggle__label::before,\n .fr-fieldset--valid .fr-toggle input[type=checkbox]:checked ~ .fr-toggle__label::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='40' stroke='%2318753c' height='24' viewBox='0 0 40 24' fill='%23000091' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='39' height='23' rx='11.5' /%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-toggle label::before {\n content: \"\";\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-toggle .fr-hint-text {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-skiplinks {\n background-color: #eee;\n }\n .fr-skiplink {\n display: none;\n }\n}\n@media print {\n .fr-select {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n /**\n * Mixin pour gérer l'état disabled\n */\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-fieldset--valid .fr-select, .fr-select-group--valid .fr-select {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n}\n@media print {\n .fr-fieldset--error .fr-select, .fr-select-group--error .fr-select {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print {\n .fr-select-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n}\n@media print {\n .fr-select-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n}\n@media print {\n .fr-select-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-select:disabled {\n color: #929292;\n box-shadow: inset 0 -2px 0 0 #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-select:disabled {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-select:-webkit-autofill, .fr-select:-webkit-autofill:hover, .fr-select:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;\n -webkit-text-fill-color: #161616;\n }\n}\n@media print {\n .fr-callout {\n background-color: #eee;\n background-image: linear-gradient(0deg, #6a6af4, #6a6af4);\n }\n .fr-callout::before {\n color: #161616;\n }\n .fr-callout__title {\n color: #161616;\n }\n .fr-callout--green-tilleul-verveine {\n background-image: linear-gradient(0deg, #b7a73f, #b7a73f);\n background-color: #fceeac;\n }\n .fr-callout--green-bourgeon {\n background-image: linear-gradient(0deg, #68a532, #68a532);\n background-color: #c9fcac;\n }\n .fr-callout--green-emeraude {\n background-image: linear-gradient(0deg, #00a95f, #00a95f);\n background-color: #c3fad5;\n }\n .fr-callout--green-menthe {\n background-image: linear-gradient(0deg, #009081, #009081);\n background-color: #bafaee;\n }\n .fr-callout--green-archipel {\n background-image: linear-gradient(0deg, #009099, #009099);\n background-color: #c7f6fc;\n }\n .fr-callout--blue-ecume {\n background-image: linear-gradient(0deg, #465f9d, #465f9d);\n background-color: #e9edfe;\n }\n .fr-callout--blue-cumulus {\n background-image: linear-gradient(0deg, #417dc4, #417dc4);\n background-color: #e6eefe;\n }\n .fr-callout--purple-glycine {\n background-image: linear-gradient(0deg, #a558a0, #a558a0);\n background-color: #fee7fc;\n }\n .fr-callout--pink-macaron {\n background-image: linear-gradient(0deg, #e18b76, #e18b76);\n background-color: #fee9e6;\n }\n .fr-callout--pink-tuile {\n background-image: linear-gradient(0deg, #ce614a, #ce614a);\n background-color: #fee9e7;\n }\n .fr-callout--yellow-tournesol {\n background-image: linear-gradient(0deg, #c8aa39, #c8aa39);\n background-color: #feecc2;\n }\n .fr-callout--yellow-moutarde {\n background-image: linear-gradient(0deg, #c3992a, #c3992a);\n background-color: #feebd0;\n }\n .fr-callout--orange-terre-battue {\n background-image: linear-gradient(0deg, #e4794a, #e4794a);\n background-color: #fee9e5;\n }\n .fr-callout--brown-cafe-creme {\n background-image: linear-gradient(0deg, #d1b781, #d1b781);\n background-color: #f7ecdb;\n }\n .fr-callout--brown-caramel {\n background-image: linear-gradient(0deg, #c08c65, #c08c65);\n background-color: #f7ebe5;\n }\n .fr-callout--brown-opera {\n background-image: linear-gradient(0deg, #bd987a, #bd987a);\n background-color: #f7ece4;\n }\n .fr-callout--beige-gris-galet {\n background-image: linear-gradient(0deg, #aea397, #aea397);\n background-color: #f3ede5;\n }\n}\n@media print {\n .fr-modal__body {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-modal__body {\n z-index: 2000;\n }\n}\n@media print {\n .fr-modal__title {\n color: #161616;\n }\n}\n@media print {\n .fr-modal__footer {\n background-color: #fff;\n }\n}\n@media print {\n .fr-modal__body.fr-scroll-divider .fr-modal__footer {\n background-image: linear-gradient(0deg, #ddd, #ddd);\n }\n}\n@media print {\n .fr-modal {\n display: none;\n }\n}\n@media print {\n .fr-navigation {\n display: none;\n }\n}\n@media print {\n .fr-share .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn {\n background-color: transparent;\n }\n .fr-share .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-share .fr-btn:disabled, .fr-share a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-share .fr-btn:disabled:hover, .fr-share a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-share .fr-btn:disabled:active, .fr-share a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-share__text {\n color: #666;\n }\n}\n@media print {\n .fr-share {\n display: none;\n }\n}\n@media print {\n .fr-footer {\n box-shadow: inset 0 2px 0 0 #000091, inset 0 -1px 0 0 #ddd;\n }\n .fr-footer__content-link {\n color: #3a3a3a;\n }\n .fr-footer__top-cat {\n color: #161616;\n }\n .fr-footer__top {\n background-color: #f6f6f6;\n }\n .fr-footer__bottom {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__bottom .fr-btn {\n color: #666;\n }\n .fr-footer__bottom-item::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer__bottom-link {\n color: #666;\n }\n .fr-footer__bottom-copy {\n color: #666;\n }\n .fr-footer__partners {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-footer__partners-title {\n color: #3a3a3a;\n }\n .fr-footer__partners .fr-footer__logo {\n background-color: #fff;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-footer {\n display: none;\n }\n}\n@media print {\n .fr-tile {\n background-color: #fff;\n }\n .fr-tile:not(.fr-tile--no-border):not(.fr-tile--shadow) {\n background-image: linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd), linear-gradient(0deg, #ddd, #ddd);\n }\n .fr-tile--grey {\n background-color: #eee;\n }\n .fr-tile--shadow {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--shadow {\n z-index: 500;\n }\n}\n@media print {\n .fr-tile--shadow.fr-tile--grey {\n background-color: #eee;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-tile--no-background {\n background-color: transparent;\n }\n .fr-tile--no-background:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-tile--no-background:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-tile__title {\n color: #161616;\n }\n .fr-tile__title:disabled, a.fr-tile__title:not([href]) {\n color: #929292;\n background-color: #e5e5e5;\n }\n .fr-tile__title::before {\n background-image: linear-gradient(0deg, #3a3a3a, #3a3a3a);\n }\n .fr-tile__title a {\n color: #000091;\n }\n .fr-tile__title a::before {\n background-image: linear-gradient(0deg, #000091, #000091);\n }\n .fr-tile__title a:not([href]) {\n color: #929292;\n }\n .fr-tile__title a:not([href])::before {\n background-image: linear-gradient(0deg, #e5e5e5, #e5e5e5);\n }\n}\n@media print {\n .fr-tile .fr-tile__desc,\n .fr-tile .fr-tile__detail, .fr-tile__desc, .fr-tile__detail,\n .fr-tile--sm .fr-tile__desc,\n .fr-tile--sm .fr-tile__detail,\n .fr-tile--sm__desc,\n .fr-tile--sm__detail {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn[aria-expanded=true] {\n color: #000091;\n background-color: #e3e3fd;\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:hover {\n background-color: var(--hover-tint);\n }\n .fr-translate .fr-translate__btn[aria-expanded=true]:active {\n background-color: var(--active-tint);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-translate__menu .fr-translate__language {\n box-shadow: none;\n }\n}\n@media print {\n .fr-translate .fr-translate__btn {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media print {\n .fr-transcription::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n .fr-transcription__btn {\n color: #000091;\n }\n .fr-transcription__btn[aria-expanded=true] {\n background-color: #e3e3fd;\n }\n .fr-transcription__content::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription__footer::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription .fr-modal:not(.fr-modal--opened)::before {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-transcription {\n display: none;\n }\n}\n@media print {\n .fr-input {\n color: #3a3a3a;\n background-color: #eee;\n box-shadow: inset 0 -2px 0 0 #3a3a3a;\n }\n .fr-input::placeholder {\n color: #666;\n }\n .fr-input::-webkit-contacts-auto-fill-button {\n background-color: #161616;\n }\n .fr-input::-webkit-contacts-auto-fill-button:hover {\n background-color: #343434;\n }\n .fr-input::-webkit-contacts-auto-fill-button:active {\n background-color: #474747;\n }\n .fr-input:disabled {\n color: var(--text-disabled-grey);\n box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);\n }\n .fr-input:autofill, .fr-input:autofill:hover, .fr-input:autofill:focus, .fr-input:-webkit-autofill, .fr-input:-webkit-autofill:hover, .fr-input:-webkit-autofill:focus {\n box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #e8edff;\n -webkit-text-fill-color: #161616;\n }\n .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-fieldset--valid .fr-input,\n .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--valid .fr-input,\n .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-fieldset--error .fr-input,\n .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child), .fr-input-group--error .fr-input,\n .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n .fr-input-group--error::before {\n background-image: linear-gradient(0deg, #ce0500, #ce0500);\n }\n .fr-input-group--valid::before {\n background-image: linear-gradient(0deg, #18753c, #18753c);\n }\n .fr-input-group--info::before {\n background-image: linear-gradient(0deg, #0063cb, #0063cb);\n }\n}\n@media print {\n .fr-search-bar .fr-input {\n box-shadow: inset 0 -2px 0 0 #000091;\n }\n .fr-search-bar .fr-input--valid {\n box-shadow: inset 0 -2px 0 0 #18753c;\n }\n .fr-search-bar .fr-input--error {\n box-shadow: inset 0 -2px 0 0 #ce0500;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-search-bar .fr-input::-webkit-search-cancel-button {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='%23161616' d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-content-media__caption,\n .fr-content-media .fr-link {\n color: #666;\n }\n .fr-content-media__caption {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .fr-content-media__caption .fr-link {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0 0;\n }\n .fr-content-media__caption .fr-link::before, .fr-content-media__caption .fr-link::after {\n --icon-size: 1rem;\n }\n}\n@media print {\n .fr-consent-placeholder {\n background-color: #eee;\n }\n .fr-consent-banner {\n background-color: #f6f6f6;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-banner {\n z-index: 1500;\n }\n}\n@media print {\n .fr-consent-manager__header,\n .fr-consent-service {\n box-shadow: inset 0 -1px 0 0 #ddd;\n color: #3a3a3a;\n }\n .fr-consent-manager__header .fr-radio-group + .fr-radio-group::before,\n .fr-consent-service .fr-radio-group + .fr-radio-group::before {\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print {\n .fr-consent-service__title {\n color: #161616;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-consent-service:last-of-type,\n .fr-consent-service .fr-consent-service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-consent-service .fr-consent-service__collapse-btn {\n color: #000091;\n }\n}\n@media print {\n .fr-consent-banner {\n display: none;\n }\n}\n@media print {\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n /**\n * Mixin d'ajout des icones des réseaux sociaux\n **/\n .fr-follow {\n background-color: #f5f5fe;\n }\n .fr-follow .fr-input {\n background-color: #fff;\n }\n .fr-follow__title {\n color: #161616;\n }\n .fr-follow__newsletter-legal {\n color: #666;\n }\n .fr-follow__social .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-follow__social .fr-btn:disabled, .fr-follow__social a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-follow__social .fr-btn:disabled:hover, .fr-follow__social a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-follow__social .fr-btn:disabled:active, .fr-follow__social a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: 0 -1px 0 0 #6a6af4;\n }\n}\n@media print and (min-width: 48em) {\n .fr-follow .fr-grid-row > *:not(:first-child) {\n box-shadow: -1px 0 0 0 #6a6af4;\n }\n}\n@media print {\n .fr-password__btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn {\n background-color: transparent;\n }\n .fr-password__btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password__btn:disabled, a.fr-password__btn:not([href]) {\n background-color: transparent;\n }\n .fr-password__btn:disabled:hover, a.fr-password__btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-password__btn:disabled:active, a.fr-password__btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-password [data-fr-capslock]::before {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23161616' d='M22.668 0C23.4023 0 24 .5977 24 1.332v21.336c0 .7343-.5977 1.332-1.332 1.332H1.332C.5977 24 0 23.4023 0 22.668V1.332C0 .5977.5977 0 1.332 0Zm-1.336 2.668H2.668v18.664h18.664Zm-4.664 12.664V18H7.332v-2.668ZM12 5.332 16.668 10H14v3.332h-4V10H7.332Zm0 0'/%3E%3C/svg%3E\");\n }\n}\n@media print {\n .fr-password .fr-password__checkbox input[type=checkbox] + label {\n color: #161616;\n }\n .fr-password .fr-password__checkbox input[type=checkbox] + label::before {\n background-image: radial-gradient(at 5px 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) 4px, transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at calc(100% - 5px) calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), radial-gradient(at 5px calc(100% - 4px), transparent 4px, var(--border-action-high-blue-france) 4px, var(--border-action-high-blue-france) 5px, transparent 6px), linear-gradient(var(--border-action-high-blue-france), var(--border-action-high-blue-france)), var(--data-uri-svg);\n }\n}\n@media print {\n .fr-header__brand {\n background-color: #fff;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: 750;\n }\n}\n@media print {\n .fr-header__service {\n color: #161616;\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print and (min-width: 62em) {\n .fr-header {\n background-color: #fff;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header {\n z-index: 750;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__brand {\n z-index: auto;\n background: transparent;\n }\n}\n@media print and (min-width: 62em) and (-ms-high-contrast: none), print and (min-width: 62em) and (-ms-high-contrast: active) {\n .fr-header__service {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__menu-links::after {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n .fr-header__menu-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn:disabled, .fr-header__menu-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__menu-links .fr-btn:disabled:hover, .fr-header__menu-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__menu-links .fr-btn:disabled:active, .fr-header__menu-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__menu-links .fr-btn {\n box-shadow: none;\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links .fr-btn:disabled, .fr-header__tools-links a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links .fr-btn:disabled:hover, .fr-header__tools-links a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links .fr-btn:disabled:active, .fr-header__tools-links a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:hover, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__tools-links > .fr-translate:first-child:last-child .fr-btn:disabled:active, .fr-header__tools-links > .fr-translate:first-child:last-child a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-service__title {\n color: #161616;\n }\n .fr-header__navbar .fr-btn {\n color: #000091;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n color: #929292;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn:disabled, .fr-header__navbar a.fr-btn:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn:disabled:hover, .fr-header__navbar a.fr-btn:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn:disabled:active, .fr-header__navbar a.fr-btn:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu {\n color: #000091;\n box-shadow: inset 0 0 0 1px #ddd;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n color: #929292;\n box-shadow: inset 0 0 0 1px #e5e5e5;\n }\n}\n@media print and (-ms-high-contrast: none), print and (-ms-high-contrast: active) {\n .fr-header__navbar .fr-btn--menu:disabled, .fr-header__navbar a.fr-btn--menu:not([href]) {\n background-color: transparent;\n }\n .fr-header__navbar .fr-btn--menu:disabled:hover, .fr-header__navbar a.fr-btn--menu:not([href]):hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .fr-header__navbar .fr-btn--menu:disabled:active, .fr-header__navbar a.fr-btn--menu:not([href]):active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n}\n@media print and (min-width: 62em) {\n .fr-header .fr-header__menu {\n box-shadow: inset 0 1px 0 0 #ddd;\n }\n}\n@media print {\n .fr-header .fr-modal {\n background-color: #fff;\n }\n}\n@media print {\n .fr-header__menu {\n display: none;\n }\n .fr-header__body-row {\n padding: 0;\n }\n .fr-header__body .fr-header__tools,\n .fr-header__body .fr-header__navbar {\n display: none;\n }\n .fr-header__brand {\n flex-wrap: nowrap;\n }\n .fr-header__brand-top {\n width: auto;\n }\n .fr-header__service {\n box-shadow: none;\n }\n}","////\n/// Core Tool : Action disabled\n/// @group core\n////\n\n@mixin disabled-selector($elements: $action-elements) {\n $selectors: ();\n @each $element, $setting in $elements {\n $disabled: map-get($setting, disabled);\n $selector: map-get($setting, selector);\n @if $disabled {\n $selectors: append($selectors, nest($selector, map-get($disabled, selector)), 'comma');\n }\n }\n\n #{$selectors} {\n @content;\n }\n}\n","////\n/// Core Module : Artwork\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _core-artwork-scheme($legacy: false) {\n #{selector.ns(artwork)} {\n &-decorative {\n @include color.fill(artwork decorative blue-france, (legacy: $legacy));\n }\n\n &-minor {\n @include color.fill(artwork minor red-marianne, (legacy: $legacy));\n }\n\n &-major {\n @include color.fill(artwork major blue-france, (legacy: $legacy));\n }\n\n &-background {\n @include color.fill(artwork background grey, (legacy: $legacy));\n }\n\n &-motif {\n @include color.fill(artwork motif grey, (legacy: $legacy));\n }\n\n @include color.accentuate {\n #{selector.ns(artwork-minor)} {\n @include color.fill(artwork minor accent, (legacy: $legacy));\n }\n }\n }\n\n [disabled] {\n #{selector.ns(artwork)} * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// Core Scheme : Reset headings\n/// @group core\n////\n\n@use 'sass:list';\n@use 'module/color';\n@use 'module/typography';\n\n@mixin _core-typography-scheme-heading($legacy: false) {\n @include title-selector {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n $titles: ();\n @each $title, $variation in ($title-settings) {\n @if typography.is-heading($title) {\n $titles: list.append($titles, $title, comma);\n }\n }\n #{$titles} {\n @include color.text(title grey, (legacy: $legacy));\n }\n}\n","////\n/// Core scheme : Display hr\n/// @group core\n////\n\n@use '../../../../../module/color';\n\n@mixin _core-display-hr-scheme($legacy: false) {\n hr {\n @include build-hr-scheme($legacy);\n }\n\n #{ns(hr)} {\n &-or {\n @include _pseudo(before after) {\n @include color.background(border default grey, (legacy:$legacy));\n }\n }\n }\n\n @include build-utility(display, hr) {\n @include build-hr-scheme($legacy);\n }\n}\n","////\n/// Core Tool : Selector pseudo\n/// @group core\n////\n\n@mixin _pseudo($type:before, $content:null, $display:null) {\n @if $type != after and $type != before and $type != marker and $type != (before after) {\n @error '$type must be before or after element';\n }\n\n $selector: ();\n\n @each $pseudo in $type {\n $selector: append($selector, '&::#{$pseudo}', 'comma');\n }\n\n #{$selector} {\n\n @if $content != null {\n content: $content;\n }\n\n @if $display != null {\n display: #{$display};\n }\n\n @content;\n }\n}\n\n@mixin before($content: null, $display: null) {\n @include _pseudo(before, $content, $display) {\n @content;\n }\n}\n\n@mixin after($content: null, $display: null) {\n @include _pseudo(after, $content, $display) {\n @content;\n }\n}\n\n@mixin marker($content: null, $display: null) {\n @include _pseudo(marker, $content, $display) {\n @content;\n }\n}\n","////\n/// Core Tool\n/// @group core\n////\n\n@mixin build-utility($category, $name, $modifier: null) {\n // Récupération des variables depuis src/variables.scss\n $utilityVars: map-get($variables, $category);\n\n @if map-get($variables, $category) != null {\n $utilityVars: to-map(map-get($utilityVars, $name));\n $breakpointsVars: map-get($utilityVars, 'breakpoints');\n\n // breakpoints: all = xs, sm, md, lg, xl\n $breakpointsList: if($breakpointsVars == all, map-keys($breakpoints), $breakpointsVars);\n @if ($breakpointsList == null) { $breakpointsList: first; } // default: first\n\n // si l'utilitaire n'est pas désactivé\n @if (map-get($utilityVars, 1) != false and map-get($utilityVars, active) != false) {\n @each $bp in $breakpointsList {\n $mod: '-#{$bp}';\n @if ($bp == xs or $bp == first) {\n $bp: first;\n $mod: '';\n }\n @if $modifier {\n $mod: #{$mod + '-' + $modifier};\n }\n @include respond-from($bp) {\n #{ns($name)}#{$mod} {\n @content;\n }\n }\n }\n }\n }\n}\n","#{ns(no-print)} {\n display: none;\n}\n","h1,\nh2,\nh3,\nh4 {\n page-break-after: avoid;\n break-after: avoid;\n}\n\np {\n orphans: 3;\n widows: 3;\n}\n\n#{ns(text)}--sm,\n#{ns(text)}--xs {\n @include text-style(md, true, true, null, true);\n}\n","////\n/// Core Tool : Typography build\n/// @group core\n////\n\n@use 'module/spacing';\n\n@function get-text-style($font-size) {\n @return map-get($text-styles, $font-size);\n}\n\n@function get-title-style($font-size) {\n @return map-get($title-styles, $font-size);\n}\n\n@mixin _stylize($font-size, $styles, $prepend, $append) {\n $style: map-get($styles, $font-size);\n\n @if $prepend == null {\n $prepend: '';\n }\n\n @if $append == null {\n $append: '';\n }\n\n font-size: #{$prepend} spacing.space($font-size) #{$append};\n\n @if map-has-key($style, line-height) {\n line-height: #{$prepend} spacing.space(map-get($style, line-height)) #{$append};\n }\n}\n\n@mixin _responsive-styles($settings, $styles, $is-responsive, $prepend, $append) {\n $breakpoints: map-get($settings, breakpoints);\n\n @if map-has-key($settings, weight) {\n font-weight: #{$prepend} map-get($font-weight-scale, map-get($settings, weight)) #{$append};\n }\n\n @if $is-responsive {\n @each $breakpoint, $size in $breakpoints {\n @if $breakpoint == first {\n @include _stylize($size, $styles, $prepend, $append);\n }\n @else {\n @include respond-from($breakpoint) {\n @include _stylize($size, $styles, $prepend, $append);\n }\n }\n }\n }\n @else {\n @if map-has-key($breakpoints, md) {\n @include _stylize(map-get($breakpoints, md), $styles);\n }\n @else {\n @include _stylize(map-get($breakpoints, first), $styles);\n }\n }\n}\n\n@mixin _space-text($settings) {\n @include margin( var(#{'--' + map-get($settings, 'margin') + '-spacing'}) );\n}\n\n@mixin text-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($text-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $text-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin title-style($name, $with-spacing: false, $is-responsive: true, $prepend: null, $important: false) {\n $settings: map-get($title-settings, $name);\n @if $settings {\n $append: '';\n @if $important {\n $append: ' !important';\n }\n\n @include _responsive-styles($settings, $title-styles, $is-responsive, $prepend, $append);\n\n @if $with-spacing {\n @include _space-text($settings);\n }\n }\n}\n\n@mixin _set-typography-var($name, $value, $bp: null) {\n @if $bp != null {\n @include respond-from(#{$bp}) {\n --#{$name}-spacing: #{space($value)};\n }\n }\n @else {\n --#{$name}-spacing: #{space($value)};\n }\n}\n\n@mixin set-title-margin($margin, $bp:null) {\n @include _set-typography-var(title, $margin, $bp);\n}\n\n@mixin set-text-margin($margin, $bp:null) {\n @include _set-typography-var(text, $margin, $bp);\n}\n\n@mixin set-display-margin($margin, $bp:null) {\n @include _set-typography-var(display, $margin, $bp);\n}\n","////\n/// Core Tool : Spacing space\n/// @group core\n////\n\n@use 'module/spacing';\n\n/// Set space property\n///\n/// @param {String} $property ['margin'] - propriété à appliquer à l'espacement `['margin', 'padding']`\n/// @param {Number | list} $value [2] - valeur de l'espacement en v ou w. peut être une liste si la direction n'est pas renseignée\n/// @param {String} $direction - direction de l'espacement `['x', 'y', 'top', 'right', 'bottom', 'left']`\n///\n/// @example scss - Set margin-bottom to 24px\n/// .foo {\n/// @include _spacing('margin', 6v, 'bottom');\n/// }\n@mixin _spacing($property: margin, $value: 0, $direction: null) {\n $v: spacing.space($value);\n @if $direction != null {\n @if $direction == 'x' {\n #{$property}-left: $v;\n #{$property}-right: $v;\n }\n @else if $direction == 'y' {\n #{$property}-top: $v;\n #{$property}-bottom: $v;\n }\n @else {\n #{$property}-#{$direction}: $v;\n }\n }\n @else {\n #{$property}: $v;\n }\n}\n\n@mixin _spacing-from($property: margin, $value: 0, $direction: null, $from: null) {\n @include respond-from($from) {\n @include _spacing($property, $value, $direction);\n }\n}\n\n@mixin padding($values: 0 0 0 0, $from: null) {\n @include _spacing-from(padding, $values, null, $from);\n}\n\n@mixin padding-x($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'x', $from);\n}\n\n@mixin padding-y($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'y', $from);\n}\n\n@mixin padding-top($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'top', $from);\n}\n\n@mixin padding-right($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'right', $from);\n}\n\n@mixin padding-bottom($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'bottom', $from);\n}\n\n@mixin padding-left($value: 0, $from: null) {\n @include _spacing-from(padding, $value, 'left', $from);\n}\n\n@mixin margin($values: 0 0 0 0, $from: null) {\n @include _spacing-from(margin, $values, null, $from);\n}\n\n@mixin margin-x($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'x', $from);\n}\n\n@mixin margin-y($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'y', $from);\n}\n\n@mixin margin-top($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'top', $from);\n}\n\n@mixin margin-right($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'right', $from);\n}\n\n@mixin margin-bottom($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'bottom', $from);\n}\n\n@mixin margin-left($value: 0, $from: null) {\n @include _spacing-from(margin, $value, 'left', $from);\n}\n","#{ns(upload)} {\n @include text-style(md);\n}\n","////\n/// Accordion Scheme\n/// @group accordion\n////\n\n@use 'module/color';\n\n@mixin _accordion-scheme($legacy: false) {\n #{ns(accordion)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in bottom-1-out);\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(accordion)} {\n &__btn::after {\n transform: rotate(-180deg);\n }\n\n #{ns(collapse)}:not(#{ns(collapse--expanded)}) {\n --collapse-max-height: none !important;\n --collapse: inherit !important;\n\n visibility: visible;\n @include padding(1rem);\n }\n}\n","////\n/// Badge Module\n/// @group badge\n////\n\n@use 'module/color';\n\n@mixin _badge-scheme($legacy: false) {\n #{ns(badge)} {\n @include color.text(default grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n &--info {\n @include color.text(default info, (legacy: $legacy));\n @include color.background(contrast info, (legacy: $legacy));\n }\n\n &--error {\n @include color.text(default error, (legacy: $legacy));\n @include color.background(contrast error, (legacy: $legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy: $legacy));\n @include color.background(contrast success, (legacy: $legacy));\n }\n\n &--warning {\n @include color.text(default warning, (legacy: $legacy));\n @include color.background(contrast warning, (legacy: $legacy));\n }\n\n &--new {\n @include color.text(action-high yellow-moutarde, (legacy: $legacy));\n @include color.background(contrast yellow-moutarde, (legacy: $legacy));\n }\n\n @include color.accentuate {\n @include color.text(label accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n@use '../variable/accent';\n@use '../variable/sets';\n\n@mixin accentuate () {\n $accents: map.get(sets.$values, accent);\n @at-root {\n @each $tint, $value in $accents {\n @include accent.set($tint);\n &--#{$tint} {\n @content;\n }\n }\n }\n @include accent.end();\n}\n","////\n/// Logo Scheme\n/// @group logo\n////\n\n@use 'module/color';\n\n@mixin _logo-scheme($legacy: false) {\n #{ns(logo)} {\n @include color.text(black-white grey, (legacy:$legacy));\n }\n}\n","#{ns(logo)} {\n &::after {\n background-position: 0 calc(100% + 1.875rem) !important;\n }\n}\n","////\n/// button Scheme\n/// @group button\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _button-scheme($legacy: false) {\n #{ns(btn)} {\n @include color.background(action-high blue-france, (legacy:$legacy, hover: true));\n @include color.text(inverted blue-france, (legacy:$legacy));\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n // Outline variant\n &--secondary {\n @include btn-kind-scheme(2, $legacy);\n }\n\n // Grey outline variant\n &--tertiary,\n &--account {\n @include btn-kind-scheme(3, $legacy);\n }\n\n // Ghost variant\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip,\n &--briefcase,\n &--team {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n}\n","@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'colors';\n@use 'module/selector';\n\n/// Applique les couleurs disabled sur l'élément avec les sélecteurs appropriés\n/// @access public\n/// @param {map} map des options :\n/// - can-be-link {boolean}: ajoute le sélecteur de lien sans href.\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - background {boolean}: true, applique le token background disabled sur la couleur de fond\n/// - text {boolean}: true, applique le token text disabled sur la couleur de texte\n/// - box-shadow {}: si true, applique le token border disabled sur l'élément avec la box-shadow par défaut (encadré de 1 px). si une valeur de box-shadow est fournie, applique cette valeur (voir get-box-shadow)\n@mixin selector($options: (), $colors: null) {\n $selectors: '&:disabled';\n @if map.get($options, can-be-link) {\n $selectors: list.append($selectors, selector.associate(&, 'a:not([href])'), comma);\n }\n\n @at-root #{$selectors} {\n @if $colors != null {\n @include colors.colors($colors);\n }\n @content;\n }\n}\n","#{ns(btn)} {\n &--secondary,\n &--tertiary,\n &--tertiary-no-outline,\n &--close,\n &--display,\n &--fullscreen,\n &--tooltip {\n background-color: transparent;\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _connect-scheme-default($legacy: false, $standalone: false) {\n #{ns(connect)} {\n @include color.background(action-high blue-france, (legacy: $legacy, standalone: $standalone));\n @include color.text(inverted blue-france, (legacy: $legacy, standalone: $standalone));\n\n @include disabled.selector((can-be-link: true)) {\n @include color.background(disabled grey, (legacy: $legacy, standalone: $standalone));\n @include color.text(disabled grey, (legacy: $legacy, standalone: $standalone));\n }\n }\n}\n","////\n/// Connect Scheme : default\n/// @group connect\n////\n\n@use 'module/color';\n\n@mixin _connect-scheme-group($legacy: false, $standalone: false) {\n #{ns(connect)} {\n &-group {\n #{ns(connect)} + p a {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n p {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// quote Scheme\n/// @group quote\n////\n\n@use 'module/color';\n\n@mixin _quote-scheme($legacy: false) {\n #{ns(quote)} {\n @include before {\n @include color.text((artwork minor blue-france), (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include before {\n @include color.text((artwork minor accent), (legacy:$legacy));\n }\n }\n\n @include color.background-image((border default grey), (legacy:$legacy));\n\n &__source {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(quote)} {\n &__author,\n cite,\n figcaption li {\n @include text-style(md);\n }\n}\n","////\n/// Breadcrumb Scheme\n/// @group breadcrumb\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _breadcrumb-scheme($legacy: false) {\n #{ns(breadcrumb)} {\n @include color.text(mention grey, (legacy:$legacy));\n\n &__link {\n @include selector.current {\n @include color.text(default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{ns(breadcrumb)} {\n display: none;\n}\n","/// Ajout d'un sélecteur pour l'élément courant\n/// @access public\n\n@mixin current {\n &[aria-current]:not([aria-current=\"false\"]) {\n @content;\n }\n}\n\n@mixin not-current {\n &:not([aria-current]),\n &[aria-current=\"false\"] {\n @content;\n }\n}\n","////\n/// form Scheme\n/// @group form\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _form-scheme($legacy: false) {\n #{ns-group(select), ns-group(input), ns-group(range), ns-group(upload)} {\n &--valid {\n label {\n @include color.text(default success, (legacy:$legacy));\n }\n }\n\n &--error {\n label {\n @include color.text(default error, (legacy:$legacy));\n }\n }\n\n &--info {\n label {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n &--disabled {\n label,\n #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(label)} {\n @include color.text(label grey, (legacy:$legacy));\n\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--success {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n\n &--disabled {\n &,\n & #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n #{ns(hint-text)},\n #{ns(message)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n #{ns(message)} {\n &--error {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n\n #{ns(fieldset)} {\n @include disabled.selector {\n #{ns(label)},\n #{ns(hint-text)},\n #{ns(fieldset__legend)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n\n input {\n @include disabled.selector {\n + label,\n + label #{ns(hint-text)},\n + label + #{ns(hint-text)} {\n @include disabled.colors((legacy: $legacy, text: true));\n }\n }\n }\n\n &__legend {\n @include color.text(label grey, (legacy:$legacy));\n }\n\n &--error,\n &--error &__legend {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n\n &--error &__legend,\n &--error #{ns(label)} {\n @include color.text(default error, (legacy:$legacy));\n }\n\n &--valid,\n &--valid &__legend {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n\n &--valid &__legend,\n &--valid #{ns(label)} {\n @include color.text(default success, (legacy:$legacy));\n }\n\n &--info,\n &--info &__legend {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n\n &--info &__legend,\n &--info #{ns(label)} {\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Core Tool : Selector block\n/// @group core\n////\n\n@mixin title() {\n &__title {\n @content;\n }\n}\n\n@mixin body() {\n &__body {\n @content;\n }\n}\n\n@mixin list() {\n &__list {\n @content;\n }\n}\n\n@mixin list-item() {\n &__item {\n @content;\n }\n}\n","////\n/// Stepper Scheme\n/// @group stepper\n////\n\n@use 'module/color';\n\n@mixin _stepper-scheme($legacy: false) {\n #{ns(stepper)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__state {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__details {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__steps {\n $active-step: 'repeating-linear-gradient(to right, $color#1 0, $color#1 var(--active-inner), transparent var(--active-inner), transparent var(--active-outer) )';\n $default-step: 'repeating-linear-gradient(to right, $color#2 0, $color#2 var(--default-inner), transparent var(--default-inner), transparent var(--default-outer) )';\n @include color.background-image((active blue-france) (contrast grey), (legacy:$legacy), '#{$active-step}, #{$default-step}');\n }\n }\n}\n","#{ns(stepper)} {\n &__state,\n &__details {\n @include text-style(md);\n }\n}\n","////\n/// Tooltip Scheme : tooltip\n/// @group core\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _tooltip-scheme($legacy: false) {\n #{ns(tooltip)} {\n @include color.text(default grey, (legacy: $legacy));\n\n &#{ns(placement)} {\n @include elevation.elevate(overlap, (legacy: $legacy, no-background: true));\n\n &--top {\n @include tooltip-border((overlap grey) (border default grey), top, $legacy);\n }\n\n &--bottom {\n @include tooltip-border((overlap grey) (border default grey), bottom, $legacy);\n }\n }\n }\n}\n","#{ns(tooltip)} {\n display: none;\n}\n","////\n/// Link Scheme\n/// @group link\n////\n\n@use 'module/color';\n\n@mixin _link-scheme($legacy: false) {\n #{ns(link)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n #{ns-group(links)} {\n li::marker {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n &--bordered {\n @include color.box-shadow(default grey, (legacy:$legacy), all-1-in);\n }\n }\n}\n","////\n/// Sidemenu Scheme\n/// @group sidemenu\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n@use 'module/selector';\n\n@mixin _sidemenu-scheme($legacy: false) {\n #{ns(sidemenu)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in top-1-in);\n @include media-query.respond-from(md) {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n /*\n @include elevation.elevate(raised, (legacy:$legacy));\n @include respond-from(md) {\n @include elevation.drop((legacy:$legacy));\n }\n */\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.no-box-shadow((breakpoint: md, legacy: $legacy));\n }\n\n @include list-item {\n #{ns(sidemenu__link)},\n #{ns(sidemenu__btn)} {\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out bottom-1-in);\n }\n\n &:first-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n &:last-child {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-out);\n }\n }\n }\n\n &__inner {\n @include media-query.respond-from(md) {\n @include color.box-shadow(default grey, (legacy:$legacy), right-1-in);\n }\n }\n\n @include media-query.respond-from(md) {\n &--right {\n #{ns(sidemenu__inner)} {\n @include color.box-shadow(default grey, (legacy:$legacy), left-1-in);\n }\n }\n }\n\n &__link,\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n @include selector.current {\n @include color.text(active blue-france, (legacy:$legacy));\n @include before {\n @include color.background(border active blue-france, (legacy:$legacy));\n }\n }\n }\n\n &__btn {\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n }\n}\n","#{ns(sidemenu)} {\n display: none;\n}\n","////\n/// Highlight Scheme\n/// @group Highlight\n////\n\n@use 'module/color';\n\n@mixin _highlight-scheme($legacy: false) {\n #{ns(highlight)} {\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Tab Scheme\n/// @group tab\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tab-scheme($legacy: false) {\n #{ns(tabs)} {\n @include color.box-shadow(default grey, (legacy: $legacy), bottom-1-in);\n\n @include before {\n @include color.box-shadow(default grey, (legacy: $legacy), top-1-in left-1-in right-1-in);\n }\n\n /**\n * Tab button\n */\n &__tab {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.box-shadow(background default grey, (legacy: $legacy), bottom-2-out);\n\n &:not([aria-selected=true]) {\n @include color.background(action-low blue-france, (legacy: $legacy));\n @include color.text(action-high grey, (legacy: $legacy));\n }\n\n &[aria-selected=true]:not(:disabled) {\n @include color.background-image((border active blue-france) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background(default grey, (legacy: $legacy));\n @include color.text(active blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","////\n/// Pagination Scheme\n/// @group pagination\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _pagination-scheme($legacy: false) {\n #{ns(pagination)} {\n @include color.text(action-high grey, (legacy: $legacy));\n\n &__link {\n @include selector.current {\n @include color.background(active blue-france, (legacy: $legacy, hover: true));\n @include color.text(inverted blue-france, (legacy: $legacy));\n }\n\n @include selector.not-current {\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true,));\n }\n }\n }\n}\n","////\n/// Summary Module\n/// @group summary\n////\n\n@use 'module/color';\n\n@mixin _summary-scheme($legacy: false) {\n #{ns(summary)} {\n @include color.background(contrast grey, (legacy:$legacy));\n // @include color.box-shadow(default grey, (legacy:$legacy));\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n li > a {\n @include color.text(action-high grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(summary)} {\n display: none;\n}\n","////\n/// Table Module\n/// @group Table\n////\n\n@use 'module/color';\n\n@mixin _table-scheme($legacy: false) {\n #{ns(table)} {\n caption {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n thead {\n @include color.background-image(border plain grey, (legacy: $legacy));\n\n @include color.background(contrast grey, (legacy: $legacy));\n @include color.text(title grey, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt grey, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast grey, (legacy: $legacy));\n }\n }\n\n @include color.accentuate {\n thead {\n @include color.background-image(border plain accent, (legacy: $legacy));\n @include color.background(contrast accent, (legacy: $legacy));\n }\n\n tbody {\n @include color.background(alt accent, (legacy: $legacy));\n\n tr:nth-child(even) {\n @include color.background(contrast accent, (legacy: $legacy));\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &#{ns(table--bordered)} {\n tbody {\n tr {\n @include color.background-image(border default accent, (legacy: $legacy));\n }\n }\n }\n }\n\n /* Style bordered, ajoute des bordures entre chaque ligne */\n &--bordered {\n tbody {\n tr {\n @include color.background-image(border default grey, (legacy: $legacy));\n\n /* Style bordered, enleve le style even/odd */\n &:nth-child(even) {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n }\n }\n }\n }\n}\n","#{ns(table)} {\n td,\n th {\n @include text-style(md);\n }\n}\n","////\n/// Tag Module\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _tag-scheme($legacy: false) {\n #{ns(tag)} {\n @include color.text(label grey, (legacy: $legacy));\n @include color.background(contrast grey, (legacy: $legacy));\n\n @include pressed-selector(false) {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n }\n\n &#{ns(tag)}--dismiss {\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include color.background(action-high blue-france, (legacy: $legacy, hover: true));\n }\n }\n\n a[href],\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include color.text(action-high blue-france, (legacy: $legacy));\n @include color.background(action-low blue-france, (legacy: $legacy, hover: true));\n\n @include color.accentuate {\n @include color.text(action-high accent, (legacy: $legacy));\n @include color.background(action-low accent, (legacy: $legacy, hover: true));\n }\n }\n }\n\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n &:not(:disabled) {\n @include color.transparent-background((legacy:$legacy));\n @include color.text(inverted blue-france, (legacy: $legacy));\n @include tag-punched-background(background active blue-france, md, $legacy);\n }\n\n @include after {\n @include color.text(action-high blue-france, (legacy: $legacy));\n }\n\n @include disabled.selector {\n @include color.transparent-background((legacy:$legacy));\n @include tag-punched-background(background disabled grey, md, $legacy, false);\n @include after {\n @include color.text(disabled grey, (legacy: $legacy));\n }\n }\n\n &#{ns(tag)}--sm {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, text: true, background: true));\n }\n }\n\n a:not([href]) {\n &#{ns(tag)} {\n @include color.text(disabled grey, (legacy: $legacy));\n @include color.background(disabled grey, (legacy: $legacy));\n }\n }\n\n #{ns-group(tags)} {\n &#{ns-group(tags)}--sm {\n button,\n input[type=button] {\n &#{ns(tag)} {\n @include pressed-selector(true) {\n @include tag-punched-background(background active blue-france, sm, $legacy);\n\n @include disabled.selector {\n @include tag-punched-background(background disabled grey, sm, $legacy, false);\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Tag Tool\n/// @group tag\n////\n\n@use 'module/color';\n@use 'module/spacing';\n\n@mixin build-tag() {\n @include _build-link($tags-settings);\n}\n\n@mixin nest-tag($size:md, $place: null, $icon:null, $from: null, $insert: true) {\n @include _nest-link($tags-settings, $size, $place, $icon, $from, $insert) {\n @content;\n }\n}\n\n@mixin pressed-selector($value:null) {\n $attr: 'aria-pressed';\n @if $value == true or $value == false {\n $attr: 'aria-pressed=\"#{$value}\"';\n }\n\n &[#{$attr}] {\n @content;\n }\n}\n\n@mixin tag-punched-background ($token, $size: md, $legacy: false, $hover: true) {\n $top: 1v;\n $stop-1: 2.3125v;\n $stop-2: 2.5v;\n\n @if $size == sm {\n $top: 0.75v;\n $stop-1: 1.79v;\n $stop-2: 2v;\n }\n\n @include color.background-image($token, (legacy: $legacy, hover: $hover), 'radial-gradient(circle at 100% #{spacing.space($top)}, transparent #{spacing.space($stop-1)}, $COLOR #{spacing.space($stop-2)})');\n}\n","////\n/// alert Scheme\n/// @group alert\n////\n\n@use 'module/color';\n\n@mixin _alert-scheme($legacy: false) {\n #{ns(alert)} {\n @include color.background-image((border plain grey) (border plain grey) (border plain grey) (border plain grey) (flat grey), (legacy:$legacy));\n\n @include before {\n @include color.text(inverted grey, (legacy:$legacy));\n }\n\n &--info {\n @include color.background-image((border plain info) (border plain info) (border plain info) (border plain info) (flat info), (legacy:$legacy));\n }\n\n &--error {\n @include color.background-image((border plain error) (border plain error) (border plain error) (border plain error) (flat error), (legacy:$legacy));\n }\n\n &--success {\n @include color.background-image((border plain success) (border plain success) (border plain success) (border plain success) (flat success), (legacy:$legacy));\n }\n\n &--warning {\n @include color.background-image((border plain warning) (border plain warning) (border plain warning) (border plain warning) (flat warning), (legacy:$legacy));\n }\n }\n}\n","////\n/// notice Scheme\n/// @group notice\n////\n\n@use 'module/color';\n\n@mixin _notice-scheme($legacy: false) {\n #{ns(notice)} {\n @include color.background(contrast grey, (legacy:$legacy, hover: false, active: false));\n @include color.text(title grey, (legacy:$legacy));\n\n &--info {\n @include color.background(contrast info, (legacy:$legacy));\n @include color.text(default info, (legacy:$legacy));\n }\n }\n}\n","////\n/// Radio Scheme : radio md\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-md($legacy: false) {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n &--info {\n #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n\n & #{selector.ns-group(radio)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _radio-scheme-sm($legacy: false) {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n @include disabled.selector() {\n + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--valid {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n &--info {\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n\n #{ns-group(radio)}--sm {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));\n }\n\n &:checked + label {\n @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));\n }\n }\n }\n }\n }\n}\n","////\n/// Radio Scheme : radio rich\n/// @group radio\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _radio-scheme-rich($legacy: false) {\n #{selector.ns(radio-rich)} {\n &__pictogram {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n input[type=\"radio\"] {\n + label {\n @include color.background-image((border default grey) (border action-high blue-france), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n @include color.background((background default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n svg * {\n @include color.fill(text disabled grey, (legacy: $legacy));\n }\n }\n }\n\n &:checked {\n + label {\n @include color.background-image((border active blue-france) (border active blue-france) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((action-high blue-france) (action-high blue-france) (action-high blue-france) (border default grey), (legacy: $legacy));\n }\n\n @include disabled.selector {\n + label {\n @include color.background-image((text disabled grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n\n ~ #{selector.ns(radio-rich__pictogram)} {\n @include color.background-image((disabled grey) (disabled grey) (disabled grey) (border default grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n\n #{ns(fieldset)} {\n &--error {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain error), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain error) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--valid {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain success), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain success) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n &--info {\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n & + label {\n @include color.background-image((border default grey) (border plain info), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((action-high blue-france) (border plain info) (active blue-france), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n\n #{ns(radio-rich)} {\n input[type=\"radio\"] {\n @include disabled.selector {\n & + label {\n @include color.background-image((border default grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(false)}');\n }\n\n &:checked + label {\n @include color.background-image((border default grey) (disabled grey) (disabled grey), (legacy: $legacy), '#{radio-rich-background-image(true)}');\n }\n }\n }\n }\n }\n}\n","////\n/// Card Scheme\n/// @group card\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _card-scheme($legacy: false) {\n #{ns(card)} {\n @include color.background(default grey, (legacy:$legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &--download:not(#{ns(card--no-background)}) {\n #{ns(card__header)} {\n @include color.background(alt grey, (legacy:$legacy));\n }\n }\n\n &__detail {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n\n a[href] {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n }\n }\n}\n","#{ns(card)} {\n &__detail,\n &__desc {\n @include text-style(md);\n }\n\n &__detail {\n line-height: 1rem !important;\n }\n}\n","@use 'sass:map';\n@use 'module/specificity';\n@use 'module/legacy';\n@use 'module/selector/mixin/theme' as selector;\n@use 'module/utilities';\n@use 'module/string';\n@use '../function/token';\n@use '../function/colors';\n@use '../function/result';\n\n/// Combinaison de couleur appliquée à un svg intégré en data-uri\n/// @access public\n// @param {list} $tokens - liste des tokens de décision\n/// @param {map} $options - map des options :\n/// - legacy {boolean}: version pour navigateurs modernes ou anciens.\n/// - important {boolean}: si true, applique !important à la règle css\n/// @param {Object} $value - le SVG en data-uri\n/// @param {String} $prop - propriété sur laquelle est assignée le svg\n/// @example @include scheme-element-data-uri-svg(text title grey, false, \"<svg><path fill='$COLOR'></path></svg>\"));\n@mixin data-uri-svg($tokens, $options: (), $value: \"<svg><path fill='$COLOR'></path></svg>\", $prop: background-image, $var: 'data-uri-svg') {\n $legacy: map.get($options, legacy);\n $important: map.get($options, important);\n $tokens: token.normalise($tokens);\n $light-colors: colors.from-list($tokens, hex, (theme: light, hover: map.get($options, hover), active: map.get($options, active)));\n $light: result.get($light-colors, $value);\n $light: specificity.important($light, $important);\n\n @if $legacy and $prop != false {\n @include legacy.is(ie11) {\n @if $prop != false {\n #{$prop}: #{url(utilities.data-uri(string.encode-svg($light, true), svg))};\n }\n }\n }\n @else {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($light, false), svg))};\n\n $dark-colors: colors.from-list($tokens, hex, (theme: dark, hover: map.get($options, hover), active: map.get($options, active)));\n $dark: result.get($dark-colors, $value);\n $dark: specificity.important($dark, $important);\n\n @include selector.theme(dark) {\n --#{$var}: #{url(utilities.data-uri(string.encode-svg($dark, false), svg))};\n }\n\n @if $prop != false {\n #{$prop}: var(--#{$var});\n }\n }\n}\n","////\n/// Checkbox Scheme\n/// @group checkboxe\n////\n\n@use 'module/color';\n@use 'module/disabled';\n@use 'module/selector';\n\n@mixin _checkbox-scheme($legacy: false) {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n\n &:checked {\n + label {\n @include before {\n @include color.background(active blue-france);\n @include color.background-image(border active blue-france, (), checkbox-background-image());\n @include color.data-uri-svg(text inverted blue-france, (), $checkbox-svg, false);\n }\n }\n }\n\n @include disabled.selector {\n & + label {\n @include before {\n @include disabled.colors();\n @include color.background-image(disabled grey, (), checkbox-background-image());\n }\n }\n\n &:checked {\n & + label {\n @include before {\n @include disabled.colors((background: true));\n @include color.data-uri-svg(text disabled grey, (), $checkbox-svg, false);\n }\n }\n }\n }\n }\n\n &--error {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain error, (legacy:$legacy));\n }\n }\n\n &--valid {\n input[type=\"checkbox\"],\n input[type=\"checkbox\"]:checked {\n & + label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n\n @include before {\n @include color.background(border plain success, (legacy:$legacy));\n }\n }\n }\n\n #{selector.ns(fieldset)} {\n &--error {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain error, (), checkbox-background-image());\n }\n }\n }\n }\n }\n\n &--valid {\n #{selector.ns(checkbox-group)} {\n input[type=\"checkbox\"] {\n + label {\n @include before {\n @include color.background-image(border plain success, (), checkbox-background-image());\n }\n }\n }\n }\n }\n }\n}\n","////\n/// Toggle Scheme\n/// @group toggle\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _toggle-scheme($legacy: false) {\n #{ns(toggle)} {\n label {\n @include color.text(label grey, (legacy:$legacy));\n\n @include before {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.data-uri-svg(border action-high blue-france, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.text(active blue-france, (legacy:$legacy));\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n @include color.background(default grey, (legacy:$legacy));\n }\n }\n\n input[type=\"checkbox\"] {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), all-1-in);\n\n &:checked {\n @include color.background(active blue-france, (legacy:$legacy));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border active blue-france) (border active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(active blue-france, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n @include disabled.selector((), (legacy: $legacy, box-shadow: true)) {\n &:checked {\n @include disabled.colors((legacy: $legacy, background: true));\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((background disabled grey) (background disabled grey), (legacy: $legacy), $toggle-checked-svg);\n }\n\n @include after {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $toggle-svg);\n }\n }\n }\n\n ~ #{ns(toggle__label)} {\n @include before {\n @include disabled.colors((legacy: $legacy, text: true));\n @include color.data-uri-svg((background disabled grey), (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include disabled.colors((legacy: $legacy, text: true, box-shadow: true));\n }\n }\n }\n }\n\n #{ns(hint-text)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &--border-bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n }\n }\n\n #{ns(toggle--error)},\n #{ns(fieldset--error)} #{ns(toggle)} {\n label {\n @include color.text(default error, (legacy:$legacy));\n\n @include before {\n @include color.text(default error, (legacy:$legacy));\n @include color.data-uri-svg(border plain error, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain error, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain error) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n\n #{ns(toggle--valid)},\n #{ns(fieldset--valid)} #{ns(toggle)} {\n label {\n @include color.text(default success, (legacy:$legacy));\n\n @include before {\n @include color.text(default success, (legacy:$legacy));\n @include color.data-uri-svg(border plain success, (legacy: $legacy), $toggle-unchecked-svg);\n }\n\n @include after {\n @include color.box-shadow(border plain success, (legacy:$legacy), all-1-in);\n }\n }\n\n input[type=\"checkbox\"] {\n &:checked {\n ~ #{ns(toggle__label)} {\n @include before {\n @include color.data-uri-svg((border plain success) (active blue-france), (legacy: $legacy), $toggle-checked-svg);\n }\n }\n }\n }\n }\n}\n","#{ns(toggle)} {\n label {\n @include before('', block) {\n @include text-style(md);\n }\n }\n\n #{ns(hint-text)} {\n @include text-style(md);\n }\n}\n","////\n/// Skiplink Scheme\n/// @group skiplink\n////\n\n@use 'module/color';\n\n@mixin _skiplink-scheme($legacy: false) {\n #{ns(skiplinks)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n}\n","#{ns(skiplink)} {\n display: none;\n}\n","////\n/// Select Module\n/// @group select\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _select-scheme($legacy: false) {\n #{ns(select)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $select-arrow-down-svg);\n\n #{ns(fieldset--valid)} &,\n &-group--valid & {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n #{ns(fieldset--error)} &,\n &-group--error & {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n\n /**\n * Mixin pour gérer l'état disabled\n */\n @include disabled.selector((), (legacy: $legacy, text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $select-arrow-down-svg);\n }\n\n /**\n * On applique un style lorsque la valeur est automatiquement remplie par le navigateur\n * sur les navigateurs webkit.\n */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @include color.box-shadow((plain grey) (background contrast blue-france), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n }\n}\n","////\n/// Callout Scheme\n/// @group callout\n////\n\n@use 'module/color';\n\n@mixin _callout-scheme($legacy: false) {\n #{ns(callout)} {\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.background-image(border default blue-france, (legacy:$legacy));\n\n @include before {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n @include color.accentuate {\n @include color.background-image(border default accent, (legacy:$legacy));\n @include color.background(contrast accent, (legacy:$legacy));\n }\n }\n}\n","////\n/// Modal Scheme\n/// @group modal\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _modal-scheme($legacy: false) {\n #{ns(modal)} {\n @include body {\n @include elevation.elevate(lifted, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__footer {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n\n &__body#{ns(scroll-divider)} {\n #{ns(modal)}__footer {\n @include color.background-image(border default grey, (legacy:$legacy));\n }\n }\n }\n}\n","#{selector.ns(navigation)} {\n display: none;\n}\n","////\n/// Share Scheme\n/// @group share\n////\n\n@use 'module/color';\n\n@mixin _share-scheme($legacy: false) {\n #{ns(share)} {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n\n &__text {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n}\n","////\n/// footer Scheme\n/// @group footer\n////\n\n@use 'module/color';\n\n@mixin _footer-scheme($legacy: false) {\n #{ns(footer)} {\n @include color.box-shadow((plain blue-france) (default grey), (legacy:$legacy), top-2-in bottom-1-in);\n\n &__content-link {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n &__top-cat {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &__top {\n @include color.background(alt grey, (legacy:$legacy));\n }\n\n &__bottom {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n #{ns(btn)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n\n &__bottom-item {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n\n &__bottom-link {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__bottom-copy {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n &__partners {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n\n &-title {\n @include color.text(default grey, (legacy:$legacy));\n }\n\n #{ns(footer__logo)} {\n @include color.background(default grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n #{ns(footer__partners-link)} {\n &,\n &:hover,\n &:active {\n background: color.$white;\n }\n }\n }\n }\n }\n}\n","#{ns(share)} {\n display: none;\n}\n","////\n/// Tile Module\n/// @group tile\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/disabled';\n\n@mixin _tile-scheme($legacy: false) {\n #{ns(tile)} {\n @include color.background(default grey, (legacy: $legacy));\n\n &:not(&--no-border):not(&--shadow) {\n @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));\n }\n\n &--grey {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n &--shadow {\n @include elevation.elevate(raised, (legacy: $legacy));\n }\n\n &--shadow#{&}--grey {\n @include color.background(contrast-raised grey, (legacy:$legacy));\n }\n\n &--no-background {\n @include color.transparent-background((legacy:$legacy, hover: true));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));\n\n @include before {\n @include color.background-image((border plain grey), (legacy: $legacy));\n }\n\n a {\n @include color.text(action-high blue-france, (legacy: $legacy));\n\n @include before {\n @include color.background-image((border active blue-france), (legacy: $legacy));\n }\n\n &:not([href]) {\n @include disabled.colors((legacy: $legacy, text: true));\n\n @include before {\n @include color.background-image((border disabled grey), (legacy: $legacy));\n }\n }\n }\n }\n }\n}\n","#{ns(tile)},\n#{ns(tile--sm)} {\n\n #{ns(tile)}__desc,\n #{ns(tile)}__detail,\n &__desc,\n &__detail {\n @include text-style(md);\n }\n}\n","////\n/// translate Scheme\n/// @group translate\n////\n\n@use 'module/color';\n\n@mixin _translate-scheme($legacy: false) {\n #{ns(translate)} {\n #{ns(translate)}__btn {\n &[aria-expanded=\"true\"] {\n @include color.text(active blue-france, (legacy: $legacy));\n @include color.background(open blue-france, (legacy: $legacy));\n @include hover-tint;\n }\n }\n\n &__menu {\n #{ns(translate)}__language {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Core Tool : Action Hover\n/// @group core\n////\n\n@mixin hover-media-query () {\n @media (hover: hover) and (pointer: fine) {\n @content;\n }\n}\n\n@mixin hover-type-selector($elements, $type: all, $check-disabled: false) {\n $selectors: ();\n\n @each $element, $setting in $elements {\n $hover: map-get($setting, hover);\n $selector: map-get($setting, selector);\n @if $hover {\n @if $type == map-get($hover, type) or $type == all {\n $nested: $selector;\n @if $check-disabled {\n $nested: nest($selector, map-get($hover, selector));\n }\n $associated: $nested;\n @if & != null and '#{&}' != ':root' {\n $associated: selector-associate('#{&}', $nested);\n }\n $selectors: append($selectors, $associated, 'comma');\n }\n }\n }\n\n @at-root #{$selectors} {\n @content;\n }\n}\n\n@mixin hover-tint () {\n &:hover {\n background-color: var(--hover-tint);\n }\n\n &:active {\n background-color: var(--active-tint);\n }\n}\n\n@mixin enable-tint () {\n @include tint-enabled(true, true);\n}\n\n@mixin disable-tint() {\n @include tint-enabled(false, false);\n}\n\n@mixin tint-enabled ($hover: null, $active: null) {\n @if $hover {\n --hover-tint: var(--hover);\n }\n @else if $hover == false {\n --hover-tint: var(--idle);\n }\n\n @if $active {\n --active-tint: var(--active);\n }\n @else if $active == false {\n --active-tint: var(--idle);\n }\n}\n\n@mixin hover-brighten ($element, $img) {\n @at-root #{$element} {\n &:hover {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten});\n }\n }\n\n &:active {\n #{$img} {\n --brightness: calc(100% + var(--brighten) * #{$hover-brighten * 2});\n }\n }\n }\n}\n\n@mixin hover-brighten-filter () {\n filter: brightness(var(--brightness));\n}\n","#{ns(translate)} {\n #{ns(translate__btn)} {\n @include text-style(md);\n }\n}\n","////\n/// Transcription Scheme\n/// @group transcription\n////\n\n@use 'module/color';\n\n@mixin _transcription-scheme($legacy: false) {\n #{ns(transcription)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n &__btn {\n @include color.text(action-high blue-france, (legacy:$legacy));\n\n &[aria-expanded='true'] {\n @include color.background(open blue-france, (legacy: $legacy));\n }\n }\n\n &__content {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n &__footer {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n &:not(#{ns(modal)}--opened) {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n }\n }\n}\n","#{ns(transcription)} {\n display: none;\n}\n","////\n/// Input Scheme\n/// @group input\n////\n\n@use 'module/color';\n@use 'module/disabled';\n\n@mixin _input-scheme($legacy: false) {\n #{ns(input)} {\n @include color.text(default grey, (legacy:$legacy));\n @include color.background(contrast grey, (legacy:$legacy));\n @include color.box-shadow(plain grey, (legacy:$legacy), bottom-2-in);\n\n @include placeholder {\n @include color.text(mention grey, (legacy:$legacy));\n }\n\n @include contact-auto-fill-button {\n @include color.background(text label grey, (legacy:$legacy, hover: true));\n }\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in));\n\n @include autofill {\n @include color.box-shadow((plain grey) (background contrast info), (legacy:$legacy), bottom-2-in all-in);\n @include color.text-fill(label grey, (legacy:$legacy));\n }\n\n @if not $legacy {\n @supports selector(::-webkit-calendar-picker-indicator) {\n &[type=date] {\n @include color.data-uri-svg(text action-high grey, (legacy: $legacy), $input-calendar-line);\n\n @include disabled.selector((legacy: $legacy), (text: true, box-shadow: bottom-2-in)) {\n @include color.data-uri-svg(text disabled grey, (legacy: $legacy), $input-calendar-line);\n }\n }\n }\n }\n\n &-wrap--addon {\n > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--valid)},\n &-group--valid {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n }\n\n @at-root #{ns(fieldset--error)},\n &-group--error {\n #{ns(input)},\n #{ns(input-wrap--addon)} > #{ns(input)}:not(:last-child) {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n }\n\n &-group--error {\n @include before {\n @include color.background-image(border plain error, (legacy:$legacy));\n }\n }\n\n &-group--valid {\n @include before {\n @include color.background-image(border plain success, (legacy:$legacy));\n }\n }\n\n &-group--info {\n @include before {\n @include color.background-image(border plain info, (legacy:$legacy));\n }\n }\n }\n}\n","////\n/// Input Tool\n/// @group input\n////\n\n/// Mixin pour ajouter les préfixes vendor du placeholder\n///\n/// @access public\n///\n/// @example scss\n/// .foo {\n/// @include placeholder {\n/// @content;\n/// }\n/// }\n@mixin placeholder {\n &::placeholder {\n @content;\n }\n}\n\n@mixin contact-auto-fill-button {\n &::-webkit-contacts-auto-fill-button {\n @content;\n }\n}\n","////\n/// Core Tool : Selector Autofill\n/// @group core\n////\n\n@mixin autofill () {\n &:autofill,\n &:autofill:hover,\n &:autofill:focus,\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus {\n @content;\n }\n}\n","////\n/// Search Scheme\n/// @group search\n////\n\n@use 'module/color';\n\n@mixin _search-scheme($legacy: false) {\n #{ns(search-bar)} {\n #{ns(input)} {\n @include color.box-shadow(action-high blue-france, (legacy:$legacy), bottom-2-in);\n\n &--valid {\n @include color.box-shadow(plain success, (legacy:$legacy), bottom-2-in);\n }\n\n &--error {\n @include color.box-shadow(plain error, (legacy:$legacy), bottom-2-in);\n }\n\n &::-webkit-search-cancel-button {\n @include color.data-uri-svg(text label grey, (legacy: $legacy), $input-search-cancel);\n }\n }\n }\n}\n","////\n/// Content Scheme\n/// @group content\n////\n\n@use 'module/color';\n\n@mixin _content-scheme($legacy: false) {\n #{ns(content-media)} {\n &__caption,\n #{ns(link)} {\n @include color.text(mention grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(content-media)} {\n &__caption {\n @include text-style(md);\n @include nest-link(md, null);\n }\n}\n","////\n/// Core Tool : Selector nest\n/// @group core\n////\n\n@mixin nest($selector: null) {\n @if $selector {\n #{$selector} {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","////\n/// Link Tool : sizes\n/// @group link\n////\n\n@use \"sass:math\";\n@use 'module/spacing';\n\n@mixin _build-link-size($size-settings, $border-radius: false) {\n $font-size: map_get($size-settings, font-size);\n $style: get-text-style($font-size);\n $line-height: spacing.space(map_get($style, line-height));\n font-size: spacing.space($font-size);\n line-height: $line-height;\n\n $min-height: spacing.space(map_get($size-settings, min-height));\n @if $min-height > 0 {\n min-height: $min-height;\n }\n\n $max-icon-height: icon-size(md);\n\n @if map_has_key($size-settings, icon-only) {\n $max-icon-height: icon-size(map_get($size-settings, icon-only));\n }\n @else if map_has_key($size-settings, icon) {\n $max-icon-height: icon-size(map_get($size-settings, icon));\n }\n\n $space-y: math.max($line-height, $max-icon-height);\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $padding-y: math.max(($min-height - $space-y) * 0.5, 0);\n\n padding: #{$padding-y} #{$padding-x};\n\n @if $border-radius {\n border-radius: #{$min-height * 0.5};\n }\n}\n\n@function _link-icon-margin($size) {\n @return math.div(icon-size($size), 8);\n}\n\n@mixin _link-align-on-content($size, $place, $size-settings) {\n $padding-x: spacing.space(map_get($size-settings, padding-x));\n $icon-margin: _link-icon-margin(map_get($size-settings, icon));\n\n @if $place == null {\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n @else if $place == left {\n margin-left: -($padding-x - $icon-margin);\n margin-right: -($padding-x);\n }\n @else if $place == right {\n margin-left: -($padding-x);\n margin-right: -($padding-x - $icon-margin);\n }\n @else if $place == only {\n $icon-size: icon-size(map_get($size-settings, icon-only));\n $min-height: spacing.space(map_get($size-settings, min-height));\n $padding-x: ($min-height - $icon-size) * 0.5;\n\n margin-left: -($padding-x);\n margin-right: -($padding-x);\n }\n}\n","////\n/// Core Tool : Icon default\n/// @group core\n////\n\n@use 'module/path';\n@use 'module/spacing';\n@use 'module/specificity';\n\n/// Return icon size from map\n/// @param {String} $size ['md'] - Icon size from `$icon-size-map` (Default to 'md' = 16px)\n///\n/// @example scss - Set icon size to `SM` (12px)\n/// .foo {\n/// width: icon-size(sm);\n/// height: icon-size(sm);\n/// }\n@function icon-size($size: md) {\n @return spacing.space(map-get($icon-size-map, $size));\n}\n\n@function get-icon-url($icon, $important: false) {\n $config: map-get($icons-config, $icon);\n $url: url('#{path.dist()}#{map-get($config, path)}');\n @return specificity.important($url, $important);\n}\n\n@function get-icon-pseudo($restrain) {\n @if $restrain == before or $restrain == after {\n @return $restrain;\n }\n @return before after;\n}\n\n@mixin _icon-pseudo ($restrain: null) {\n @include _pseudo(get-icon-pseudo($restrain)) {\n @content;\n }\n}\n\n@mixin icon-size ($size:md, $restrain: null) {\n @include _icon-pseudo($restrain) {\n --icon-size: #{icon-size($size)};\n @content;\n }\n}\n\n@mixin icon-image ($icon, $restrain: null, $important: false) {\n $url: get-icon-url($icon, $important);\n\n @include _icon-pseudo($restrain) {\n @include mask-image($url);\n }\n}\n\n@mixin icon-style($restrain: null) {\n @include _icon-pseudo($restrain) {\n flex: 0 0 auto;\n display: inline-block;\n vertical-align: calc((0.75em - var(--icon-size)) * 0.5);\n background-color: currentColor;\n @include size(var(--icon-size), var(--icon-size));\n @include mask-image-size(100% 100%);\n @content;\n }\n}\n\n@mixin icon-content($is-before: true, $override: false) {\n $pseudos: before after;\n @if not $is-before {\n $pseudos: after before;\n }\n @include _pseudo(nth($pseudos, 1), '') {\n @content;\n }\n @if $override {\n @include _pseudo(nth($pseudos, 2), none);\n }\n}\n\n@mixin icon($icon: null, $size: md, $restrain: null, $styling: true, $is-before: $restrain != after, $override: false) {\n @if $styling {\n @include icon-style($restrain);\n }\n\n @if $icon != null {\n @include icon-image($icon, $restrain);\n }\n\n @if $size != null {\n @include icon-size($size, $restrain);\n }\n\n @if $is-before != null {\n @include icon-content($is-before, $override) {\n @content;\n }\n }\n}\n\n@function filter-icons($category, $config: $icons-config) {\n $filtered: ();\n @each $icon, $setting in $config {\n @if map-get($setting, category) == $category {\n $filtered: map-merge($filtered, (#{$icon}: $setting));\n }\n }\n @return $filtered;\n}\n\n@mixin generate-icons($config: $icons-config) {\n @each $icon, $setting in $config {\n #{ns(icon-#{$icon})} {\n @include icon-image($icon);\n }\n }\n}\n","////\n/// Consent Scheme\n/// @group consent\n////\n\n@use 'module/color';\n@use 'module/elevation';\n\n@mixin _consent-scheme($legacy: false) {\n #{ns(consent-placeholder)} {\n @include color.background(contrast grey, (legacy:$legacy));\n }\n\n #{ns(consent-banner)} {\n // @include color.background(contrast grey, (legacy:$legacy));\n @include elevation.elevate(overlap-above, (legacy:$legacy, usage: alt));\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n\n #{ns(consent-manager__header)},\n #{ns(consent-service)} {\n @include color.box-shadow(default grey, (legacy:$legacy), bottom-1-in);\n @include color.text(default grey, (legacy:$legacy));\n\n #{ns-group(radio)} {\n + #{ns-group(radio)} {\n @include before {\n @include color.box-shadow(default grey, (legacy:$legacy));\n }\n }\n }\n }\n\n #{ns(consent-service)} {\n &__title {\n @include color.text(title grey, (legacy:$legacy));\n }\n\n &:last-of-type,\n #{ns(consent-service)} {\n @include color.no-box-shadow((legacy: $legacy));\n }\n\n #{ns(consent-service__collapse-btn)} {\n @include color.text(action-high blue-france, (legacy:$legacy));\n }\n }\n}\n","#{ns(consent)} {\n &-banner {\n display: none;\n }\n}\n","////\n/// Follow Scheme\n/// @group follow\n////\n\n@use 'module/color';\n\n@mixin _follow-scheme($legacy: false) {\n #{ns(follow)} {\n @include color.background(alt blue-france, (legacy: $legacy));\n\n #{ns(input)} {\n @include color.background(default grey, (legacy: $legacy));\n }\n\n &__title {\n @include color.text(title grey, (legacy: $legacy));\n }\n\n &__newsletter {\n &-legal {\n @include color.text(mention grey, (legacy: $legacy));\n }\n }\n\n &__social {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n }\n\n #{ns(grid-row)} > *:not(:first-child) {\n // Séparateur en box-shadow\n @include color.box-shadow(default blue-france, (legacy: $legacy), top-1-out);\n @include respond-from(md) {\n @include color.box-shadow(default blue-france, (legacy: $legacy), left-1-out);\n }\n }\n }\n}\n","////\n/// Password Scheme\n/// @group password\n////\n\n@use 'module/color';\n@use 'module/selector';\n\n@mixin _password-scheme($legacy: false) {\n #{selector.ns(password)} {\n &__btn {\n @include btn-kind-scheme(4, $legacy);\n }\n\n #{selector.ns-attr(capslock)} {\n @include before {\n @include color.data-uri-svg(label grey, (legacy: $legacy), $capslock-svg);\n }\n }\n\n & &__checkbox {\n input[type=\"checkbox\"] {\n + label {\n @include color.text(label grey, (legacy: $legacy));\n @include before {\n @include color.background-image(border action-high blue-france, (), checkbox-background-image());\n }\n }\n }\n }\n }\n}\n","////\n/// header Scheme\n/// @group header\n////\n\n@use 'module/color';\n@use 'module/elevation';\n@use 'module/media-query';\n\n@mixin _header-scheme($legacy: false) {\n #{ns(header)} {\n &__brand {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n }\n\n &__service {\n @include color.text(title grey, (legacy:$legacy));\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n @include media-query.respond-from(lg) {\n @include elevation.elevate(raised-over, (legacy: $legacy));\n\n &__brand {\n @include elevation.drop((legacy:$legacy));\n }\n\n &__service {\n @include color.no-box-shadow((legacy:$legacy));\n }\n }\n\n &__menu-links {\n @include after {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n @include color.no-box-shadow((legacy: $legacy));\n }\n }\n\n &__tools-links {\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n }\n\n > #{ns(translate)}:first-child:last-child {\n #{ns(btn)} {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n &__navbar {\n #{ns(service)} {\n @include title {\n @include color.text(title grey, (legacy:$legacy));\n }\n }\n\n #{ns(btn)} {\n @include btn-kind-scheme(4, $legacy);\n\n &--menu {\n @include btn-kind-scheme(3, $legacy);\n }\n }\n }\n\n #{ns(header__menu)} {\n @include respond-from(lg) {\n @include color.box-shadow(default grey, (legacy:$legacy), top-1-in);\n }\n }\n\n #{ns(modal)} {\n @include color.background(lifted grey, (legacy:$legacy));\n }\n }\n}\n","#{ns(header)} {\n &__menu {\n display: none;\n }\n\n &__body {\n &-row {\n @include padding(0);\n }\n\n #{ns(header)}__tools,\n #{ns(header)}__navbar {\n display: none;\n }\n }\n\n &__brand {\n flex-wrap: nowrap;\n\n &-top {\n width: auto;\n }\n }\n\n &__service {\n box-shadow: none;\n }\n}\n","/// Styles spécifiques pour les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is($target) {\n @if $target == ie10 or $target == ie11 {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n/// Styles spécifiques pour les plateformes modernes, excluant les plateformes antérieures\n///\n/// @example scss -\n/// .foo {\n/// @include ie-hack() {\n/// }\n/// }\n@mixin is-not($target) {\n @if $target == ie10 or $target == ie11 {\n @supports not (-ms-high-contrast: none) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'module/elevation/variable/z-indexes';\n@use 'module/legacy';\n\n@mixin z-index($level, $legacy: false) {\n @if map.has-key(z-indexes.$values, $level) {\n $z-index: map.get(z-indexes.$values, $level);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: #{$z-index};\n }\n }\n @else {\n z-index: calc(var(--ground) + #{$z-index});\n }\n }\n}\n","@use '../variable/breakpoints';\n\n/// Set media query styles\n///\n/// @param {String} $media [md] - Layout size `['xs', 'sm', 'md', 'lg', 'xl']`\n///\n/// @example scss -\n/// .foo {\n/// @include respond-from(md) {\n/// }\n/// }\n@mixin respond-from($media) {\n $limits: map_get(breakpoints.$values, $media);\n\n @if $limits != null {\n @media (min-width: nth($limits, 1)) {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n","@use 'sass:map';\n@use 'module/legacy';\n\n@mixin drop($options: ()) {\n $legacy: map.get($options, legacy);\n @if $legacy {\n @include legacy.is(ie11) {\n z-index: auto;\n background: transparent;\n }\n }\n @else {\n z-index: auto;\n background: transparent;\n filter: none;\n }\n}\n"]} \ No newline at end of file