UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

261 lines (224 loc) 5.05 kB
/*! * DSFR v1.12.1 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ @charset "UTF-8"; /* ¯¯¯¯¯¯¯¯¯ *\ ACCORDION \* ˍˍˍˍˍˍˍˍˍ */ .fr-accordion { position: relative; } .fr-accordion::before { content: ""; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; pointer-events: none; box-shadow: inset 0 1px 0 0 var(--border-default-grey), 0 1px 0 0 var(--border-default-grey); } .fr-accordion__title { margin: 0; display: block; font-size: unset; line-height: unset; } .fr-accordion:focus-within { z-index: 1; } .fr-accordion__btn { --text-spacing: 0; --title-spacing: 0; display: inline-flex; flex-direction: row; align-items: center; width: -moz-fit-content; width: fit-content; font-weight: 500; font-size: 1rem; line-height: 1.5rem; min-height: 3rem; padding: 0.75rem 1rem; overflow: initial; max-width: 100%; max-height: none; width: 100%; text-align: left; margin: 0; color: var(--text-action-high-blue-france); } .fr-accordion__btn::before, .fr-accordion__btn::after { display: block; } .fr-accordion__btn::after { --icon-size: 1rem; margin-right: -0.125rem; margin-left: 0.25rem; flex: 0 0 auto; display: inline-block; vertical-align: calc((0.75em - var(--icon-size)) * 0.5); background-color: currentColor; width: var(--icon-size); height: var(--icon-size); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-image: url("../../icons/system/arrow-down-s-line.svg"); mask-image: url("../../icons/system/arrow-down-s-line.svg"); content: ""; transition: transform 0.3s; margin-right: 0; margin-left: auto; } .fr-accordion__btn::before { content: none; } .fr-accordion__btn[aria-expanded=true]::after { transform: rotate(-180deg); } .fr-accordion .fr-collapse { --ul-type: disc; --ol-type: decimal; --ul-start: 1rem; --ol-start: 1.5rem; --xl-block: 0.5rem; --li-bottom: 0.25rem; --xl-base: 1em; --ol-content: counters(li-counter, ".") ".  "; transition: visibility 0.3s, padding 0.3s; } .fr-accordion .fr-collapse--expanded { padding-top: 1rem; padding-bottom: 1.5rem; } .fr-accordions-group { --ul-type: none; --ol-type: none; --ul-start: 0; --ol-start: 0; --xl-block: 0; --li-bottom: 0; --ol-content: none; } .fr-accordion__btn[aria-expanded=true] { background-color: var(--background-open-blue-france); --idle: transparent; --hover: var(--background-open-blue-france-hover); --active: var(--background-open-blue-france-active); } @media (min-width: 36em) { /*! media sm */ /*! media sm */ } @media (min-width: 48em) { /*! media md */ .fr-accordion .fr-collapse { margin: 0 -0.25rem; padding-left: 1rem; padding-right: 1rem; } /*! media md */ } @media (min-width: 62em) { /*! media lg */ /*! media lg */ } @media (min-width: 78em) { /*! media xl */ /*! media xl */ } @media (-ms-high-contrast: active), (forced-colors: active) { .fr-accordion__btn::after { forced-color-adjust: none; background-color: buttontext; } .fr-accordion { border-top: 1px solid; border-bottom: 1px solid; } .fr-accordion + .fr-accordion { border-top: none; } } @media (prefers-reduced-motion: reduce) { .fr-accordion__btn::after { transition: none; } .fr-accordion .fr-collapse { transition: none; } } @media screen and (min-width: 0\0) and (min-resolution: 72dpi) { /** * Reset liste à puce */ .fr-accordions-group ul { list-style-type: none; } .fr-accordions-group ol { list-style-type: none; } .fr-accordions-group ul, .fr-accordions-group ol { padding-left: 0; margin-top: 0; margin-bottom: 0; } ul { list-style-type: disc; } ol { list-style-type: decimal; } ul, ol { padding-left: 1rem; margin-top: 0.5rem; margin-bottom: 0.5rem; } .fr-accordion__btn::before, .fr-accordion__btn::after { background-color: transparent; background-size: 100%; background-repeat: no-repeat; background-image: url("../../icons/system/arrow-down-s-line.svg"); width: 1rem; height: 1rem; } .fr-accordion__btn[aria-expanded=true]::after { transform: rotate(-180deg); } .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; } } @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; } }