Files
notifications-admin/app/assets/stylesheets/components/message.scss
Tom Byers 87dcea779e Make footer popup forms groups & add labelling
The existing behaviour focused the form control
for each popup (radios or textbox) when opened.

This gives no indication the submit button or
cancel link have been added to the page.

These changes:
- make the parent element a region to group all
  the new content
- label the region to link it to the button that
  opened it
- add a description to the region so users know
  how to use it and that all the controls have
  been added to the page
2020-10-02 15:08:09 +01:00

272 lines
4.7 KiB
SCSS

@mixin separator {
display: inline-block;
vertical-align: top;
width: 20px;
height: govuk-spacing(6);
position: relative;
&:before {
content: "";
display: block;
position: absolute;
top: -5px;
bottom: 1px;
right: 7px;
width: 9px;
height: 9px;
margin: auto 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
border: solid;
border-width: 2px 2px 0 0;
border-color: $secondary-text-colour;
}
}
$govuk-checkboxes-size: 40px;
$govuk-checkboxes-label-padding-left-right: govuk-spacing(3);
$message-type-bottom-spacing: govuk-spacing(4);
.message {
&-name {
margin: 0;
a {
margin-bottom: -1 * govuk-spacing(6);
padding-bottom: govuk-spacing(6);
&:hover .message-name-separator:before {
border-color: $link-hover-colour;
}
.message-name-separator {
margin-right: -2px;
margin-left: -2px;
&:before {
border-color: $link-colour;
}
}
}
&-separator {
@include separator;
}
}
&-type {
color: $govuk-secondary-text-colour;
margin: 0 0 $message-type-bottom-spacing 0;
padding-left: 0;
pointer-events: none;
}
}
.template-list {
&-item {
&-with-checkbox {
padding-left: $govuk-checkboxes-size + $govuk-checkboxes-label-padding-left-right;
}
&-hidden-by-default {
display: none;
}
&-without-ancestors {
.message-name {
a {
display: block;
&:first-child {
display: block;
}
&.template-list-folder:first-child {
background-position: 0 2px;
padding-left: 0;
text-indent: 40px;
}
}
}
}
&-label {
position: absolute;
left: 0;
width: $govuk-checkboxes-size + $govuk-checkboxes-label-padding-left-right;
height: 100%;
padding: 0;
}
// Fix for GOVUK Frontend selector with high precendence
// https://github.com/alphagov/govuk-frontend/blob/v2.13.0/src/components/hint/_hint.scss
&-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl)+.template-list-item-hint {
margin-bottom: $message-type-bottom-spacing;
}
&-hint {
padding-left: 0;
}
}
&-folder,
&-template {
@include govuk-font($size: 24, $weight: bold, $line-height: 1.25);
}
&-folder {
display: inline;
padding-left: 40px;
background-image: file-url('folder-blue-bold.svg');
background-repeat: no-repeat;
background-size: auto 20px;
background-position: 0px 4px;
&:hover {
background-image: file-url('folder-blue-bold-hover.svg');
}
&:focus {
background-image: file-url('folder-black-bold.svg');
}
}
&-template {
a {
display: inline;
}
}
&-empty {
color: $secondary-text-colour;
padding: govuk-spacing(3) 0 govuk-spacing(2) 0;
}
&-selected-counter {
color: $secondary-text-colour;
margin: govuk-spacing(3) 0;
@include media(tablet) {
position: absolute;
right: 0;
top: govuk-spacing(6) - 1px;
margin: 0;
}
.content-fixed & {
right: govuk-spacing(3);
}
}
}
.sticky-template-form {
padding: govuk-spacing(3);
margin: govuk-spacing(3) * -1;
&:focus {
outline: none;
}
}
.folder-heading {
.govuk-grid-row & {
margin: govuk-spacing(3) 0 20px 0;
word-wrap: break-word;
}
a,
&-folder,
&-subfolder {
display: inline;
vertical-align: top;
background-repeat: no-repeat;
background-size: auto 20px;
background-position: 0px 4px;
min-height: 30px;
}
&-folder {
padding: 0 0 0 40px;
background-image: file-url('folder-black-bold.svg');
}
&-folder-truncated {
width: 0;
padding: 0 0 0 30px;
white-space: nowrap;
overflow: hidden;
}
&-folder-root-truncated {
max-width: 1.4em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
a {
display: inline-block;
vertical-align: top;
&.folder-heading-folder {
display: inline;
background-image: file-url('folder-blue-bold.svg');
background-position: 0px 4px;
overflow: hidden;
text-overflow: ellipsis;
&:hover {
background-image: file-url('folder-blue-bold-hover.svg');
}
}
&.folder-heading-folder-truncated {
display: inline-block;
background-position: 0px 2px;
}
&:hover {
color: $link-hover-colour;
}
}
&-separator {
@include separator;
}
&-manage-link {
display: block;
text-align: right;
padding: govuk-spacing(4) 0 0 0;
position: relative;
top: -6px;
}
}