diff --git a/app/assets/stylesheets/new_design/forms.scss b/app/assets/stylesheets/new_design/forms.scss
index b400aed14..b4dc35d07 100644
--- a/app/assets/stylesheets/new_design/forms.scss
+++ b/app/assets/stylesheets/new_design/forms.scss
@@ -70,26 +70,21 @@
visibility: visible;
}
- // Align checkboxes on the top-left side of the label
+ // Move checkbox to the top-left side of the label
&.editable-champ-checkbox,
- &.editable-champ-radio.vertical,
&.editable-champ-engagement {
p,
label {
padding-left: 28px;
}
- input[type=checkbox],
- input[type=radio] {
+ input[type=checkbox] {
position: absolute;
top: 3px;
left: 0px;
}
- }
- // When the (eventual) notice is displayed after the input, give it some bottom margin
- &.editable-champ-checkbox,
- &.editable-champ-engagement {
+ // When an (eventual) notice is displayed after the input, give it some bottom margin.
.notice {
margin-bottom: $default-fields-spacer;
}
@@ -97,13 +92,58 @@
}
.radios {
+ display: flex;
+
+ // Horizontal layout (default)
+ flex-direction: row;
+ align-items: flex-start;
+
label {
- display: inline;
- margin-left: $default-padding;
+ margin-right: $default-padding;
+ }
+
+ // Vertical layout
+ &.vertical {
+ flex-direction: column;
+ align-items: stretch;
+
+ label {
+ margin-right: 0;
+ }
+ }
+
+ label {
+ padding: $default-padding $default-padding $default-padding $default-spacer;
+ border: 1px solid $border-grey;
+ border-radius: 4px;
+ font-weight: normal;
+ background: $white;
+ user-select: none;
+
+ &:last-of-type {
+ margin-bottom: $default-fields-spacer;
+ }
+
+ &:hover {
+ background: $light-grey;
+ cursor: pointer;
+ }
+
+ &:active {
+ border-color: darken($border-grey, 10);
+ }
&:first-child {
margin-left: 0;
}
+
+ input[type=radio] {
+ margin-bottom: 0;
+ }
+
+ .notice {
+ margin: 4px 0 0 27px;
+ }
}
}
@@ -190,16 +230,14 @@
input[type=radio] {
@extend %outline;
- margin-left: 5px;
- margin-right: 4px;
- margin-bottom: $default-fields-spacer;
- }
-
- input[type=checkbox] {
- // Firefox tends to display checkbox controls smaller than other browsers.
+ // Firefox tends to display some controls smaller than other browsers.
// Ensure a consistency of size between browsers.
width: 16px;
height: 16px;
+
+ margin-left: 5px;
+ margin-right: 4px;
+ margin-bottom: $default-fields-spacer;
}
input[type=date] {
diff --git a/app/views/new_administrateur/procedures/_informations.html.haml b/app/views/new_administrateur/procedures/_informations.html.haml
index 2906bf359..be435258a 100644
--- a/app/views/new_administrateur/procedures/_informations.html.haml
+++ b/app/views/new_administrateur/procedures/_informations.html.haml
@@ -78,18 +78,17 @@
- if !@procedure.locked?
%h2.header-section À qui s’adresse ma démarche ?
- .editable-champ.editable-champ-radio.vertical
+ .radios.vertical
= f.label :for_individual, value: true do
+ = f.radio_button :for_individual, true
Ma démarche s’adresse à un particulier
- %p.notice En choisissant cette option, l’usager devra renseigner son nom et prénom avant d’accéder au formulaire
- = f.radio_button :for_individual, true
+ %p.notice En choisissant cette option, l’usager devra renseigner son nom et prénom avant d’accéder au formulaire
- .editable-champ.editable-champ-radio.vertical
= f.label :for_individual, value: false do
+ = f.radio_button :for_individual, false
Ma démarche s’adresse à une personne morale
- %p.notice
- En choisissant cette option, l’usager devra renseigner son n° SIRET.
Grâce à l’API Entreprise, les informations sur la personne morale (raison sociale, adresse du siège, etc.) seront automatiquement renseignées.
- = f.radio_button :for_individual, false
+ %p.notice
+ En choisissant cette option, l’usager devra renseigner son n° SIRET.
Grâce à l’API Entreprise, les informations sur la personne morale (raison sociale, adresse du siège, etc.) seront automatiquement renseignées.
%p.explication
Si votre démarche s’adresse indifféremment à une personne morale ou un particulier, choisissez l'option « Particuliers ». Vous pourrez ajouter un champ SIRET directement dans le formulaire.
diff --git a/app/views/root/patron.html.haml b/app/views/root/patron.html.haml
index 55112f50f..507cb1ee1 100644
--- a/app/views/root/patron.html.haml
+++ b/app/views/root/patron.html.haml
@@ -52,16 +52,16 @@
%label Mot de passe
%input{ type: "password", value: "12345678" }
- %h2.header-section Bouton radio verticaux
- .editable-champ.editable-champ-radio.vertical
- = f.label :archived, 'Option A', value: true
- %p.notice Une option tout à fait valable.
- = f.radio_button :archived, true
-
- .editable-champ.editable-champ-radio.vertical
- = f.label :archived, 'Option B', value: false
- %p.notice Une autre option, pas mal non plus.
- = f.radio_button :archived, false
+ %h3.header-subsection Bouton radio verticaux
+ .radios.vertical
+ = f.label :archived, value: true do
+ = f.radio_button :archived, true
+ Option A
+ %p.notice Une option tout à fait valable.
+ = f.label :archived, value: false do
+ = f.radio_button :archived, false
+ Option B
+ %p.notice Une autre option, pas mal non plus.
.send-wrapper
= f.submit 'Enregistrer un brouillon (formnovalidate)', formnovalidate: true, class: 'button send'