demarches-normaliennes/app/assets/stylesheets/buttons.scss

400 lines
6.3 KiB
SCSS
Raw Normal View History

2024-11-05 19:02:31 +01:00
@import 'colors';
@import 'constants';
@import 'placeholders';
2017-06-14 14:39:28 +02:00
.button {
@extend %outline;
2017-06-14 14:39:28 +02:00
display: inline-block;
padding: 8px 16px;
border-radius: 30px;
border: 1px solid $border-grey;
font-size: 14px;
2017-08-30 15:04:18 +02:00
line-height: 20px;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
2017-06-14 14:39:28 +02:00
color: $black;
text-align: center;
-webkit-appearance: none;
background-image: none; // Remove DSFR underline
2017-06-14 14:39:28 +02:00
&:hover:not(:disabled) {
cursor: pointer;
2017-06-14 14:39:28 +02:00
background: $light-grey;
text-decoration: none;
}
&:disabled {
opacity: 0.5;
filter: saturate(50%);
}
2017-06-14 14:39:28 +02:00
&.primary {
2024-11-05 19:02:31 +01:00
color: #ffffff;
border-color: $blue-france-700;
background-color: $blue-france-700;
2017-06-14 14:39:28 +02:00
&:hover:not(:disabled) {
background: $blue-france-500;
2017-06-14 14:39:28 +02:00
}
}
&.secondary {
color: $blue-france-700;
border-color: $blue-france-700;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
2017-06-14 14:39:28 +02:00
&:hover:not(:disabled) {
2024-11-05 19:02:31 +01:00
color: #ffffff;
background: $blue-france-700;
2017-06-14 14:39:28 +02:00
}
}
&.danger {
color: $black;
border-color: $border-grey;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
&:hover:not(:disabled) {
2024-11-05 19:02:31 +01:00
color: #ffffff;
border-color: $medium-red;
background-color: $medium-red;
> .icon {
2019-03-11 17:26:44 +01:00
filter: contrast(0) brightness(100);
}
}
}
&.accepted {
2024-11-05 19:02:31 +01:00
color: #ffffff;
border-color: $green;
background-color: $green;
&:hover:not(:disabled) {
color: $green;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
}
}
&.without-continuation {
2024-11-05 19:02:31 +01:00
color: #ffffff;
border-color: $black;
background-color: $black;
&:hover:not(:disabled) {
color: $black;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
}
}
&.refused {
2024-11-05 19:02:31 +01:00
color: #ffffff;
border-color: $dark-red;
background-color: $dark-red;
&:hover:not(:disabled) {
color: $dark-red;
2024-11-05 19:02:31 +01:00
background-color: #ffffff;
}
}
&.small {
line-height: 14px;
padding: 5px 10px 6px 10px;
}
2017-06-14 14:39:28 +02:00
&.large {
font-size: 18px;
2017-08-30 15:04:18 +02:00
line-height: 26px;
2017-06-14 14:39:28 +02:00
padding: 15px 32px;
}
&.expand {
width: 100%;
}
> .icon {
width: 18px;
height: 18px;
background-size: 18px 18px;
2019-01-17 12:08:37 +01:00
vertical-align: text-bottom;
margin-right: $default-spacer;
}
2017-08-02 16:20:01 +02:00
&.icon-only {
padding: 9px 16px;
2017-08-02 16:20:01 +02:00
.icon {
margin-right: 0;
}
}
}
2021-04-28 16:05:44 +02:00
.icon-size {
width: 18px;
height: 18px;
}
.icon-size-big {
width: 25px;
height: 25px;
}
.instruction-button {
display: inline-block;
}
.dropdown {
display: inline-block;
position: relative;
.dropdown-button {
white-space: nowrap;
2024-11-05 19:02:31 +01:00
[aria-hidden='true'].fr-ml-2v::after {
content: '';
2017-08-02 16:20:01 +02:00
}
&.icon-only {
&::after {
margin-left: 2px;
2021-09-20 15:04:24 +02:00
color: $blue-france-500;
}
}
2017-08-02 16:20:01 +02:00
}
.dropdown-content {
display: none;
}
&.open .dropdown-content {
display: block;
}
2017-08-02 16:20:01 +02:00
}
2024-11-05 19:02:31 +01:00
[data-fr-theme='dark'] .dropdown-content {
2023-11-14 11:24:15 +01:00
border: none;
background: var(--background-action-low-blue-france);
}
2024-11-05 19:02:31 +01:00
[data-fr-theme='dark'] .dropdown-items {
2023-11-14 11:24:15 +01:00
li {
&:not(.inactive) {
&:hover,
&.selected {
background: var(--background-action-low-blue-france-hover);
}
}
2023-11-14 11:24:15 +01:00
&.form-inside {
background-color: var(--background-action-low-blue-france);
}
}
2023-11-14 11:24:15 +01:00
}
2017-08-02 16:20:01 +02:00
.dropdown-content {
border: 1px solid $border-grey;
2024-11-05 19:02:31 +01:00
background: #ffffff;
2017-08-02 16:20:01 +02:00
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
position: absolute;
right: 0;
2018-07-25 14:37:15 +02:00
text-align: left;
2017-08-02 16:20:01 +02:00
top: 5 * $default-spacer;
cursor: default;
z-index: 11;
list-style: none;
a {
background-image: none; // remove DSFR underline
}
2017-09-28 11:04:18 +02:00
&.left-aligned {
left: 0;
right: unset;
}
&.terminated {
width: 600px;
color: $black;
padding: $default-padding;
2019-07-01 16:16:40 +02:00
.title {
font-size: 24px;
}
.dossier-motivation {
margin: $default-padding 0;
}
.attestation {
margin: $default-padding 0;
2020-06-11 14:33:15 +02:00
color: $dark-grey;
}
}
2017-08-02 16:20:01 +02:00
}
2022-12-20 11:19:08 +01:00
ul.dropdown-items {
padding-inline-start: 0;
list-style: none;
2023-07-12 10:48:13 +02:00
margin-top: 0;
margin-bottom: 0;
2022-12-20 11:19:08 +01:00
}
// Apply custom styles to DSFR fr-translate component
.fr-translate__btn.fr-btn.help-btn::before {
content: none;
}
.help-content.fr-menu ul.fr-menu__list {
2024-08-08 11:23:56 +02:00
--text-decoration: underline;
text-align: left;
font-size: 1rem;
@media (min-width: 62em) {
font-size: 0.875rem;
padding: 0;
width: 360px;
}
}
.help-content.fr-menu ul.fr-menu__list li {
padding: 0.75rem 1rem;
@media (min-width: 62em) {
padding-right: 1rem;
padding-left: 1rem;
}
}
.help-content.fr-menu ul.fr-menu__list li:not(:last-child) {
@media (min-width: 62em) {
border-bottom: 1px solid $border-grey;
}
}
.help-content.fr-menu ul.fr-menu__list {
h1,
p {
font-size: inherit;
line-height: inherit;
}
2024-08-08 11:23:56 +02:00
dd {
2024-09-28 08:18:26 +02:00
word-break: break-word;
2024-08-08 11:23:56 +02:00
}
}
.help-content a[href]:hover,
.help-content a[href]:active {
@media (hover: hover) and (pointer: fine) {
--text-decoration: none;
}
}
2017-08-02 16:20:01 +02:00
.dropdown-items {
li {
display: flex;
padding: $default-padding;
2017-08-02 16:20:01 +02:00
border-bottom: 1px solid $border-grey;
font-size: 12px;
min-width: 300px;
&.selected {
cursor: default;
h4 {
2021-09-20 15:04:24 +02:00
color: $blue-france-500;
2017-08-02 16:20:01 +02:00
}
}
&:not(.inactive) {
cursor: pointer;
&:hover,
&.selected {
background: $light-grey;
}
2017-08-02 16:20:01 +02:00
}
&.form-inside {
background-color: $white;
margin-top: -2px;
}
2019-03-26 17:55:40 +01:00
&.danger {
&:hover {
background-color: $medium-red;
&,
a {
color: $white;
}
.icon {
filter: contrast(0) brightness(100);
}
}
}
2017-08-02 16:20:01 +02:00
&:last-child {
border-bottom: none;
}
// Make child links fill the whole clickable area
2022-12-20 15:42:21 +01:00
> a,
2024-11-05 19:02:31 +01:00
.dropdown-items-link {
display: flex;
flex-grow: 1;
margin: -$default-padding;
padding: $default-padding;
2022-12-20 11:19:08 +01:00
text-align: left;
}
.icon {
2017-08-02 16:20:01 +02:00
flex-shrink: 0;
}
.dropdown-description {
2017-08-02 16:20:01 +02:00
padding-left: $default-spacer;
}
}
h4 {
font-size: 14px;
margin-bottom: $default-spacer;
}
2019-07-01 16:16:40 +02:00
p + h4,
2024-11-05 19:02:31 +01:00
p + p {
margin-top: $default-spacer;
2019-07-01 16:16:40 +02:00
}
2017-06-14 14:39:28 +02:00
}
2017-06-13 17:46:08 +02:00
.dropdown-form {
padding: 2 * $default-spacer;
2017-09-28 11:04:18 +02:00
&.large {
width: 90vw;
@media (min-width: 62em) {
width: 40vw;
}
2017-09-28 11:04:18 +02:00
}
ul {
list-style: none;
}
}
2017-06-13 17:46:08 +02:00
.link {
2021-09-20 15:04:24 +02:00
color: $blue-france-500;
2017-06-13 17:46:08 +02:00
}
.account-btn {
flex-wrap: wrap;
&::before {
content: none !important;
}
}