dxw_govuk_frontend_rails 2.9.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +33 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.gitignore +9 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +91 -0
  9. data/Rakefile +50 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/dxw_govuk_frontend_rails.gemspec +27 -0
  13. data/lib/dxw_govuk_frontend_rails/version.rb +3 -0
  14. data/lib/dxw_govuk_frontend_rails.rb +12 -0
  15. data/package-lock.json +13 -0
  16. data/package.json +26 -0
  17. data/vendor/assets/fonts/bold-a2452cb66f-v1.woff2 +0 -0
  18. data/vendor/assets/fonts/bold-f38c792ac2-v1.woff +0 -0
  19. data/vendor/assets/fonts/bold-fb2676462a-v1.eot +0 -0
  20. data/vendor/assets/fonts/bold-tabular-357fdfbcc3-v1.eot +0 -0
  21. data/vendor/assets/fonts/bold-tabular-784c21afb8-v1.woff +0 -0
  22. data/vendor/assets/fonts/bold-tabular-b89238d840-v1.woff2 +0 -0
  23. data/vendor/assets/fonts/light-2c037cf7e1-v1.eot +0 -0
  24. data/vendor/assets/fonts/light-458f8ea81c-v1.woff +0 -0
  25. data/vendor/assets/fonts/light-f38ad40456-v1.woff2 +0 -0
  26. data/vendor/assets/fonts/light-tabular-498ea8ffe2-v1.eot +0 -0
  27. data/vendor/assets/fonts/light-tabular-62cc6f0a28-v1.woff +0 -0
  28. data/vendor/assets/fonts/light-tabular-851b10ccdd-v1.woff2 +0 -0
  29. data/vendor/assets/images/favicon.ico +0 -0
  30. data/vendor/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  31. data/vendor/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  32. data/vendor/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  33. data/vendor/assets/images/govuk-apple-touch-icon.png +0 -0
  34. data/vendor/assets/images/govuk-crest-2x.png +0 -0
  35. data/vendor/assets/images/govuk-crest.png +0 -0
  36. data/vendor/assets/images/govuk-logotype-crown.png +0 -0
  37. data/vendor/assets/images/govuk-mask-icon.svg +7 -0
  38. data/vendor/assets/images/govuk-opengraph-image.png +0 -0
  39. data/vendor/assets/images/icon-arrow-left.png +0 -0
  40. data/vendor/assets/images/icon-important.png +0 -0
  41. data/vendor/assets/images/icon-pointer-2x.png +0 -0
  42. data/vendor/assets/images/icon-pointer.png +0 -0
  43. data/vendor/assets/javascripts/govuk_frontend_rails.js +2358 -0
  44. data/vendor/assets/stylesheets/all-ie8.scss +6 -0
  45. data/vendor/assets/stylesheets/all.scss +11 -0
  46. data/vendor/assets/stylesheets/components/_all.scss +29 -0
  47. data/vendor/assets/stylesheets/components/accordion/_accordion.scss +188 -0
  48. data/vendor/assets/stylesheets/components/back-link/_back-link.scss +54 -0
  49. data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.scss +119 -0
  50. data/vendor/assets/stylesheets/components/button/_button.scss +180 -0
  51. data/vendor/assets/stylesheets/components/character-count/_character-count.scss +31 -0
  52. data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.scss +161 -0
  53. data/vendor/assets/stylesheets/components/date-input/_date-input.scss +30 -0
  54. data/vendor/assets/stylesheets/components/details/_details.scss +89 -0
  55. data/vendor/assets/stylesheets/components/error-message/_error-message.scss +15 -0
  56. data/vendor/assets/stylesheets/components/error-summary/_error-summary.scss +72 -0
  57. data/vendor/assets/stylesheets/components/fieldset/_fieldset.scss +60 -0
  58. data/vendor/assets/stylesheets/components/file-upload/_file-upload.scss +19 -0
  59. data/vendor/assets/stylesheets/components/footer/_footer.scss +233 -0
  60. data/vendor/assets/stylesheets/components/header/_header.scss +304 -0
  61. data/vendor/assets/stylesheets/components/hint/_hint.scss +50 -0
  62. data/vendor/assets/stylesheets/components/input/_input.scss +77 -0
  63. data/vendor/assets/stylesheets/components/inset-text/_inset-text.scss +28 -0
  64. data/vendor/assets/stylesheets/components/label/_label.scss +45 -0
  65. data/vendor/assets/stylesheets/components/panel/_panel.scss +44 -0
  66. data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.scss +31 -0
  67. data/vendor/assets/stylesheets/components/radios/_radios.scss +187 -0
  68. data/vendor/assets/stylesheets/components/select/_select.scss +32 -0
  69. data/vendor/assets/stylesheets/components/skip-link/_skip-link.scss +26 -0
  70. data/vendor/assets/stylesheets/components/summary-list/_summary-list.scss +123 -0
  71. data/vendor/assets/stylesheets/components/table/_table.scss +53 -0
  72. data/vendor/assets/stylesheets/components/tabs/_tabs.scss +130 -0
  73. data/vendor/assets/stylesheets/components/tag/_tag.scss +33 -0
  74. data/vendor/assets/stylesheets/components/textarea/_textarea.scss +32 -0
  75. data/vendor/assets/stylesheets/components/warning-text/_warning-text.scss +59 -0
  76. data/vendor/assets/stylesheets/core/_all.scss +6 -0
  77. data/vendor/assets/stylesheets/core/_global-styles.scss +23 -0
  78. data/vendor/assets/stylesheets/core/_links.scss +31 -0
  79. data/vendor/assets/stylesheets/core/_lists.scss +58 -0
  80. data/vendor/assets/stylesheets/core/_section-break.scss +60 -0
  81. data/vendor/assets/stylesheets/core/_template.scss +35 -0
  82. data/vendor/assets/stylesheets/core/_typography.scss +190 -0
  83. data/vendor/assets/stylesheets/govuk-frontend-rails.scss +16 -0
  84. data/vendor/assets/stylesheets/helpers/_all.scss +12 -0
  85. data/vendor/assets/stylesheets/helpers/_clearfix.scss +15 -0
  86. data/vendor/assets/stylesheets/helpers/_colour.scss +51 -0
  87. data/vendor/assets/stylesheets/helpers/_device-pixels.scss +38 -0
  88. data/vendor/assets/stylesheets/helpers/_focusable.scss +34 -0
  89. data/vendor/assets/stylesheets/helpers/_font-faces.scss +67 -0
  90. data/vendor/assets/stylesheets/helpers/_grid.scss +107 -0
  91. data/vendor/assets/stylesheets/helpers/_links.scss +200 -0
  92. data/vendor/assets/stylesheets/helpers/_media-queries.scss +95 -0
  93. data/vendor/assets/stylesheets/helpers/_shape-arrow.scss +80 -0
  94. data/vendor/assets/stylesheets/helpers/_spacing.scss +152 -0
  95. data/vendor/assets/stylesheets/helpers/_typography.scss +188 -0
  96. data/vendor/assets/stylesheets/helpers/_visually-hidden.scss +82 -0
  97. data/vendor/assets/stylesheets/objects/_all.scss +4 -0
  98. data/vendor/assets/stylesheets/objects/_form-group.scss +25 -0
  99. data/vendor/assets/stylesheets/objects/_grid.scss +27 -0
  100. data/vendor/assets/stylesheets/objects/_main-wrapper.scss +53 -0
  101. data/vendor/assets/stylesheets/objects/_width-container.scss +63 -0
  102. data/vendor/assets/stylesheets/overrides/_all.scss +4 -0
  103. data/vendor/assets/stylesheets/overrides/_display.scss +18 -0
  104. data/vendor/assets/stylesheets/overrides/_spacing.scss +62 -0
  105. data/vendor/assets/stylesheets/overrides/_typography.scss +25 -0
  106. data/vendor/assets/stylesheets/overrides/_width.scss +49 -0
  107. data/vendor/assets/stylesheets/settings/_all.scss +21 -0
  108. data/vendor/assets/stylesheets/settings/_assets.scss +82 -0
  109. data/vendor/assets/stylesheets/settings/_colours-applied.scss +140 -0
  110. data/vendor/assets/stylesheets/settings/_colours-organisations.scss +136 -0
  111. data/vendor/assets/stylesheets/settings/_colours-palette.scss +37 -0
  112. data/vendor/assets/stylesheets/settings/_compatibility.scss +51 -0
  113. data/vendor/assets/stylesheets/settings/_global-styles.scss +13 -0
  114. data/vendor/assets/stylesheets/settings/_ie8.scss +18 -0
  115. data/vendor/assets/stylesheets/settings/_measurements.scss +99 -0
  116. data/vendor/assets/stylesheets/settings/_media-queries.scss +23 -0
  117. data/vendor/assets/stylesheets/settings/_spacing.scss +80 -0
  118. data/vendor/assets/stylesheets/settings/_typography-font-families.scss +22 -0
  119. data/vendor/assets/stylesheets/settings/_typography-font.scss +60 -0
  120. data/vendor/assets/stylesheets/settings/_typography-responsive.scss +180 -0
  121. data/vendor/assets/stylesheets/tools/_all.scss +8 -0
  122. data/vendor/assets/stylesheets/tools/_compatibility.scss +36 -0
  123. data/vendor/assets/stylesheets/tools/_exports.scss +33 -0
  124. data/vendor/assets/stylesheets/tools/_font-url.scss +28 -0
  125. data/vendor/assets/stylesheets/tools/_ie8.scss +51 -0
  126. data/vendor/assets/stylesheets/tools/_iff.scss +15 -0
  127. data/vendor/assets/stylesheets/tools/_image-url.scss +28 -0
  128. data/vendor/assets/stylesheets/tools/_px-to-em.scss +20 -0
  129. data/vendor/assets/stylesheets/tools/_px-to-rem.scss +20 -0
  130. data/vendor/assets/stylesheets/utilities/_all.scss +2 -0
  131. data/vendor/assets/stylesheets/utilities/_clearfix.scss +5 -0
  132. data/vendor/assets/stylesheets/utilities/_visually-hidden.scss +10 -0
  133. data/vendor/assets/stylesheets/vendor/_sass-mq.scss +351 -0
  134. metadata +204 -0
@@ -0,0 +1,188 @@
1
+ ////
2
+ /// @group helpers
3
+ ////
4
+
5
+ @import "../tools/px-to-rem";
6
+
7
+ /// 'Common typography' helper
8
+ ///
9
+ /// Sets the font family and associated properties, such as font smoothing. Also
10
+ /// overrides the font for print.
11
+ ///
12
+ /// @param {List} $font-family [$govuk-font-family] Font family to use
13
+ /// @access public
14
+
15
+ @mixin govuk-typography-common($font-family: $govuk-font-family) {
16
+ font-family: $font-family;
17
+ -webkit-font-smoothing: antialiased;
18
+ -moz-osx-font-smoothing: grayscale;
19
+
20
+ // If the user is using the default NTA font we need to include the font-face declarations.
21
+ // We do not need to include the NTA font-face declarations if alphagov/govuk_template is being used since they will already be included.
22
+ @if ($govuk-include-default-font-face) {
23
+ @include _govuk-font-face-nta;
24
+ }
25
+
26
+ @include govuk-media-query($media-type: print) {
27
+ font-family: $govuk-font-family-print;
28
+ }
29
+ }
30
+
31
+ /// Text colour helper
32
+ ///
33
+ /// Sets the text colour, including a suitable override for print.
34
+ ///
35
+ /// @access public
36
+
37
+ @mixin govuk-text-colour {
38
+ color: $govuk-text-colour;
39
+
40
+ @include govuk-media-query($media-type: print) {
41
+ color: $govuk-print-text-colour;
42
+ }
43
+ }
44
+
45
+ /// Regular font weight helper
46
+ ///
47
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
48
+ /// `!important`. Generally Used to create override classes.
49
+ /// @access public
50
+
51
+ @mixin govuk-typography-weight-regular($important: false) {
52
+ font-weight: $govuk-font-weight-regular iff($important, !important);
53
+ }
54
+
55
+ /// Bold font weight helper
56
+ ///
57
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
58
+ /// `!important`. Generally Used to create override classes.
59
+ /// @access public
60
+
61
+ @mixin govuk-typography-weight-bold($important: false) {
62
+ font-weight: $govuk-font-weight-bold iff($important, !important);
63
+ }
64
+
65
+ /// Convert line-heights specified in pixels into a relative value, unless
66
+ /// they are already unit-less (and thus already treated as relative values)
67
+ /// or the units do not match the units used for the font size.
68
+ ///
69
+ /// @param {Number} $line-height Line height
70
+ /// @param {Number} $font-size Font size
71
+ /// @return {Number} The line height as either a relative value or unmodified
72
+ ///
73
+ /// @access private
74
+ @function _govuk-line-height($line-height, $font-size) {
75
+ @if not unitless($line-height) and unit($line-height) == unit($font-size) {
76
+ $line-height: $line-height / $font-size;
77
+ }
78
+
79
+ @return $line-height;
80
+ }
81
+
82
+ /// Responsive typography helper
83
+ ///
84
+ /// Takes a 'font map' as an argument and uses it to create font-size and
85
+ /// line-height declarations for different breakpoints, and for print.
86
+ ///
87
+ /// Example font map:
88
+ ///
89
+ /// $my-font-map: (
90
+ /// null: (
91
+ /// font-size: 16px,
92
+ /// line-height: 20px
93
+ /// ),
94
+ /// tablet: (
95
+ /// font-size: 19px,
96
+ /// line-height: 25px
97
+ /// ),
98
+ /// print: (
99
+ /// font-size: 14pt,
100
+ /// line-height: 1.15
101
+ /// )
102
+ /// );
103
+ ///
104
+ /// @param {Map} $font-map - Font map
105
+ /// @param {Number} $override-line-height [false] - Non responsive custom line
106
+ /// height. Omit to use the line height from the font map.
107
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
108
+ /// `!important`.
109
+ ///
110
+ /// @access public
111
+
112
+ @mixin govuk-typography-responsive($size, $override-line-height: false, $important: false) {
113
+
114
+ @if not map-has-key($govuk-typography-scale, $size) {
115
+ @error "Unknown font size `#{$size}` - expected a point from the typography scale.";
116
+ }
117
+
118
+ $font-map: map-get($govuk-typography-scale, $size);
119
+
120
+ @each $breakpoint, $breakpoint-map in $font-map {
121
+ $font-size: map-get($breakpoint-map, "font-size");
122
+ $font-size-rem: govuk-px-to-rem($font-size);
123
+
124
+ $line-height: _govuk-line-height(
125
+ $line-height: if($override-line-height,
126
+ $override-line-height,
127
+ map-get($breakpoint-map, "line-height")
128
+ ),
129
+ $font-size: $font-size
130
+ );
131
+
132
+ // Mark rules as !important if $important is true - this will result in
133
+ // these variables becoming strings, so this needs to happen *after* they
134
+ // are used in calculations
135
+ $font-size: $font-size iff($important, !important);
136
+ $font-size-rem: $font-size-rem iff($important, !important);
137
+ $line-height: $line-height iff($important, !important);
138
+
139
+ @if $breakpoint == null {
140
+ font-size: $font-size; // sass-lint:disable no-duplicate-properties
141
+ @if $govuk-typography-use-rem {
142
+ font-size: $font-size-rem; // sass-lint:disable no-duplicate-properties
143
+ }
144
+ line-height: $line-height;
145
+ } @elseif $breakpoint == "print" {
146
+ @include govuk-media-query($media-type: print) {
147
+ font-size: $font-size;
148
+ line-height: $line-height;
149
+ }
150
+ } @else {
151
+ @include govuk-media-query($from: $breakpoint) {
152
+ font-size: $font-size; // sass-lint:disable no-duplicate-properties
153
+ @if $govuk-typography-use-rem {
154
+ font-size: $font-size-rem; // sass-lint:disable no-duplicate-properties
155
+ }
156
+ line-height: $line-height;
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ /// Font helper
163
+ ///
164
+ /// @param {Number} $size - Size of the font as it would appear on desktop -
165
+ /// uses the responsive font size map
166
+ /// @param {String} $weight [regular] - Weight: `bold` or `regular`
167
+ /// @param {Boolean} $tabular [false] - Whether to use tabular numbers or not
168
+ /// @param {Number} $line-height [false] - Line-height, if overriding the default
169
+ ///
170
+ /// @access public
171
+
172
+ @mixin govuk-font($size, $weight: regular, $tabular: false, $line-height: false) {
173
+ @if $tabular {
174
+ @include govuk-typography-common($font-family: $govuk-font-family-tabular);
175
+ } @else {
176
+ @include govuk-typography-common;
177
+ }
178
+
179
+ @if $weight == regular {
180
+ @include govuk-typography-weight-regular;
181
+ } @else if $weight == bold {
182
+ @include govuk-typography-weight-bold;
183
+ }
184
+
185
+ @if $size {
186
+ @include govuk-typography-responsive($size, $override-line-height: $line-height);
187
+ }
188
+ }
@@ -0,0 +1,82 @@
1
+ ////
2
+ /// @group helpers
3
+ ////
4
+
5
+ /// Hide an element visually, but have it available for screen readers
6
+ ///
7
+ /// @link https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
8
+ /// - Hiding Content for Accessibility, Jonathan Snook, February 2011
9
+ /// @link https://github.com/h5bp/html5-boilerplate/blob/9f13695d21ff92c55c78dfa9f16bb02a1b6e911f/src/css/main.css#L121-L158
10
+ /// - h5bp/html5-boilerplate - Thanks!
11
+ ///
12
+ /// @param {Boolean} $important [true] - Whether to mark as `!important`
13
+ ///
14
+ /// @access public
15
+
16
+ @mixin govuk-visually-hidden($important: true) {
17
+ position: absolute iff($important, !important);
18
+
19
+ width: 1px iff($important, !important);
20
+ height: 1px iff($important, !important);
21
+ // If margin is set to a negative value it can cause text to be announced in the wrong order in VoiceOver for OSX
22
+ margin: 0 iff($important, !important);
23
+ padding: 0 iff($important, !important);
24
+
25
+ overflow: hidden iff($important, !important);
26
+ clip: rect(0 0 0 0) iff($important, !important);
27
+ -webkit-clip-path: inset(50%) iff($important, !important);
28
+ clip-path: inset(50%) iff($important, !important);
29
+
30
+ border: 0 iff($important, !important);
31
+
32
+ // For long content, line feeds are not interpreted as spaces and small width
33
+ // causes content to wrap 1 word per line:
34
+ // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
35
+ white-space: nowrap iff($important, !important);
36
+ }
37
+
38
+ /// Hide an element visually, but have it available for screen readers whilst
39
+ /// allowing the element to be focused when navigated to via the keyboard (e.g.
40
+ /// for the skip link)
41
+ ///
42
+ /// This is slightly less opinionated about borders and padding to make it
43
+ /// easier to style the focussed element.
44
+ ///
45
+ /// @param {Boolean} $important [true] - Whether to mark as `!important`
46
+ ///
47
+ /// @access public
48
+
49
+ @mixin govuk-visually-hidden-focusable($important: true) {
50
+ position: absolute iff($important, !important);
51
+
52
+ width: 1px iff($important, !important);
53
+ height: 1px iff($important, !important);
54
+ // If margin is set to a negative value it can cause text to be announced in the wrong order in VoiceOver for OSX
55
+ margin: 0 iff($important, !important);
56
+
57
+ overflow: hidden iff($important, !important);
58
+ clip: rect(0 0 0 0) iff($important, !important);
59
+ -webkit-clip-path: inset(50%) iff($important, !important);
60
+ clip-path: inset(50%) iff($important, !important);
61
+
62
+ // For long content, line feeds are not interpreted as spaces and small width
63
+ // causes content to wrap 1 word per line:
64
+ // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
65
+ white-space: nowrap iff($important, !important);
66
+
67
+ &:active,
68
+ &:focus {
69
+ position: static iff($important, !important);
70
+
71
+ width: auto iff($important, !important);
72
+ height: auto iff($important, !important);
73
+ margin: inherit iff($important, !important);
74
+
75
+ overflow: visible iff($important, !important);
76
+ clip: auto iff($important, !important);
77
+ -webkit-clip-path: none iff($important, !important);
78
+ clip-path: none iff($important, !important);
79
+
80
+ white-space: inherit iff($important, !important);
81
+ }
82
+ }
@@ -0,0 +1,4 @@
1
+ @import "form-group";
2
+ @import "grid";
3
+ @import "main-wrapper";
4
+ @import "width-container";
@@ -0,0 +1,25 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @include govuk-exports("govuk/objects/form-group") {
6
+
7
+ .govuk-form-group {
8
+ @include govuk-responsive-margin(6, "bottom");
9
+
10
+ .govuk-form-group:last-of-type {
11
+ margin-bottom: 0; // Remove margin from last item in nested groups
12
+ }
13
+ }
14
+
15
+ .govuk-form-group--error {
16
+ padding-left: govuk-spacing(3);
17
+ border-left: $govuk-border-width-form-group-error solid $govuk-error-colour;
18
+
19
+ .govuk-form-group {
20
+ // Reset error styles in nested form groups that might have error class
21
+ padding: 0;
22
+ border: 0;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,27 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @include govuk-exports("govuk/objects/grid") {
6
+
7
+ .govuk-grid-row {
8
+ @include govuk-clearfix;
9
+ margin-right: - ($govuk-gutter-half);
10
+ margin-left: - ($govuk-gutter-half);
11
+ }
12
+
13
+ @each $width in map-keys($govuk-grid-widths) {
14
+ .govuk-grid-column-#{$width} {
15
+ @include govuk-grid-column($width, $class: false)
16
+ }
17
+ }
18
+
19
+ // These *must* be defined in a separate loop as they have the same
20
+ // specificity as the non-breakpoint specific classes, so need to appear after
21
+ // them in the outputted CSS
22
+ @each $width in map-keys($govuk-grid-widths) {
23
+ .govuk-grid-column-#{$width}-from-desktop {
24
+ @include govuk-grid-column($width, $at: desktop, $class: false)
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,53 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ // Example usage with Breadcrumbs, phase banners, back links:
6
+ // <div class="govuk-width-container">
7
+ // <!-- Breadcrumbs, phase banners, back links are placed in here. -->
8
+ // <div class="govuk-main-wrapper">
9
+ // <!-- Wrapper for the main content of your page which applies padding
10
+ // to the top / bottom -->
11
+ // </div>
12
+ // </div>
13
+ //
14
+ // Example usage without Breadcrumbs, phase banners, back links:
15
+ // <div class="govuk-width-container">
16
+ // <div class="govuk-main-wrapper govuk-main-wrapper--l">
17
+ // <!-- Wrapper for the main content of your page which applies padding
18
+ // to the top / bottom -->
19
+ // </div>
20
+ // </div>
21
+
22
+
23
+ @mixin govuk-main-wrapper {
24
+ // In IE11 the `main` element can be used, but is not recognized –
25
+ // meaning it's not defined in IE's default style sheet,
26
+ // so it uses CSS initial value, which is inline.
27
+ display: block;
28
+ padding-top: govuk-spacing(4);
29
+ padding-bottom: govuk-spacing(4);
30
+
31
+ @include govuk-media-query($from: tablet) {
32
+ // This spacing is manually adjusted to replicate the margin of
33
+ // govuk-heading-xl (50px) minus the spacing of back link and
34
+ // breadcrumbs (10px)
35
+ padding-top: govuk-spacing(7);
36
+ padding-bottom: govuk-spacing(7);
37
+ }
38
+ }
39
+
40
+ // Use govuk-main-wrapper--l when you page does not have Breadcrumbs, phase banners or back links
41
+ @mixin govuk-main-wrapper--l {
42
+ @include govuk-responsive-padding(8, "top");
43
+ }
44
+
45
+ @include govuk-exports("govuk/objects/main-wrapper") {
46
+ .govuk-main-wrapper {
47
+ @include govuk-main-wrapper;
48
+ }
49
+
50
+ .govuk-main-wrapper--l {
51
+ @include govuk-main-wrapper--l;
52
+ }
53
+ }
@@ -0,0 +1,63 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @mixin govuk-width-container {
6
+ // Limit the width of the container to the page width
7
+ max-width: $govuk-page-width;
8
+
9
+ // On mobile, add half width gutters
10
+ margin: 0 $govuk-gutter-half;
11
+
12
+ // Respect 'display cutout' safe area (avoids notches and rounded corners)
13
+ @supports (margin: unquote("max(calc(0px))")) {
14
+ $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
15
+ $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
16
+
17
+ // Use max() to pick largest margin, default or with safe area
18
+ // Escaped due to Sass max() vs. CSS native max()
19
+ margin-right: unquote("max(#{$govuk-gutter-half}, #{$gutter-safe-area-right})");
20
+ margin-left: unquote("max(#{$govuk-gutter-half}, #{$gutter-safe-area-left})");
21
+ }
22
+
23
+ // On tablet, add full width gutters
24
+ @include govuk-media-query($from: tablet) {
25
+ margin: 0 $govuk-gutter;
26
+
27
+ // Respect 'display cutout' safe area (avoids notches and rounded corners)
28
+ @supports (margin: unquote("max(calc(0px))")) {
29
+ $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
30
+ $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
31
+
32
+ // Use max() to pick largest margin, default or with safe area
33
+ // Escaped due to Sass max() vs. CSS native max()
34
+ margin-right: unquote("max(#{$govuk-gutter}, #{$gutter-safe-area-right})");
35
+ margin-left: unquote("max(#{$govuk-gutter}, #{$gutter-safe-area-left})");
36
+ }
37
+ }
38
+
39
+ // As soon as the viewport is greater than the width of the page plus the
40
+ // gutters, just centre the content instead of adding gutters.
41
+ @include govuk-media-query($and: "(min-width: #{($govuk-page-width + $govuk-gutter * 2)})") {
42
+ margin: 0 auto;
43
+
44
+ // Since a safe area may have previously been set above,
45
+ // we need to duplicate this margin that centers the page.
46
+ @supports (margin: unquote("max(calc(0px))")) {
47
+ margin: 0 auto;
48
+ }
49
+ }
50
+
51
+ @include govuk-if-ie8 {
52
+ width: $govuk-page-width;
53
+ // Since media queries are not supported in IE8,
54
+ // we need to duplicate this margin that centers the page.
55
+ margin: 0 auto;
56
+ }
57
+ }
58
+
59
+ @include govuk-exports("govuk/objects/width-container") {
60
+ .govuk-width-container {
61
+ @include govuk-width-container;
62
+ }
63
+ }
@@ -0,0 +1,4 @@
1
+ @import "display";
2
+ @import "spacing";
3
+ @import "typography";
4
+ @import "width";
@@ -0,0 +1,18 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @include govuk-exports("govuk/overrides/display") {
6
+
7
+ .govuk-\!-display-inline {
8
+ display: inline !important;
9
+ }
10
+
11
+ .govuk-\!-display-inline-block {
12
+ display: inline-block !important;
13
+ }
14
+
15
+ .govuk-\!-display-block {
16
+ display: block !important;
17
+ }
18
+ }
@@ -0,0 +1,62 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ ////
6
+ /// @group overrides
7
+ ////
8
+
9
+ /// Directions for spacing
10
+ ///
11
+ /// @type Map
12
+ /// @access private
13
+
14
+ $_spacing-directions: (
15
+ "top",
16
+ "right",
17
+ "bottom",
18
+ "left"
19
+ ) !default;
20
+
21
+ /// Spacing override classes
22
+ ///
23
+ /// Generate spacing override classes for the given property (e.g. margin)
24
+ /// for each point in the spacing scale.
25
+ ///
26
+ /// @param {String} $property - Property to add spacing to (e.g. 'margin')
27
+ ///
28
+ /// @example scss
29
+ /// .govuk-\!-margin-0 {
30
+ /// margin: 0;
31
+ /// }
32
+ ///
33
+ /// .govuk-\!-margin-top-1 {
34
+ /// margin-top: [whatever spacing point 1 is...]
35
+ /// }
36
+ ///
37
+ /// @access private
38
+
39
+ @mixin _govuk-generate-spacing-overrides($property) {
40
+ // For each point in the spacing scale (defined in settings), create an
41
+ // override that affects all directions...
42
+ @each $scale-point, $scale-map in $govuk-spacing-responsive-scale {
43
+
44
+ .govuk-\!-#{$property}-#{$scale-point} {
45
+
46
+ @include _govuk-responsive-spacing($scale-point, $property, "all", true);
47
+ }
48
+
49
+ // ... and then an override for each individual direction
50
+ @each $direction in $_spacing-directions {
51
+
52
+ .govuk-\!-#{$property}-#{$direction}-#{$scale-point} {
53
+ @include _govuk-responsive-spacing($scale-point, $property, $direction, true);
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ @include govuk-exports("govuk/overrides/spacing") {
60
+ @include _govuk-generate-spacing-overrides("margin");
61
+ @include _govuk-generate-spacing-overrides("padding");
62
+ }
@@ -0,0 +1,25 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @include govuk-exports("govuk/overrides/typography") {
6
+ // Font size and line height
7
+
8
+ // Generate typography override classes for each responsive font map in the
9
+ // typography scale eg .govuk-\!-font-size-80
10
+ @each $size in map-keys($govuk-typography-scale) {
11
+ .govuk-\!-font-size-#{$size} {
12
+ @include govuk-typography-responsive($size, $important: true);
13
+ }
14
+ }
15
+
16
+ // Weights
17
+
18
+ .govuk-\!-font-weight-regular {
19
+ @include govuk-typography-weight-regular($important: true);
20
+ }
21
+
22
+ .govuk-\!-font-weight-bold {
23
+ @include govuk-typography-weight-bold($important: true);
24
+ }
25
+ }
@@ -0,0 +1,49 @@
1
+ @import "../settings/all";
2
+ @import "../tools/all";
3
+ @import "../helpers/all";
4
+
5
+ @include govuk-exports("govuk/overrides/width") {
6
+ .govuk-\!-width-full {
7
+ width: 100% !important;
8
+ }
9
+
10
+ .govuk-\!-width-three-quarters {
11
+ width: 100% !important;
12
+
13
+ @include govuk-media-query($from: tablet) {
14
+ width: 75% !important;
15
+ }
16
+ }
17
+
18
+ .govuk-\!-width-two-thirds {
19
+ width: 100% !important;
20
+
21
+ @include govuk-media-query($from: tablet) {
22
+ width: 66.66% !important;
23
+ }
24
+ }
25
+
26
+ .govuk-\!-width-one-half {
27
+ width: 100% !important;
28
+
29
+ @include govuk-media-query($from: tablet) {
30
+ width: 50% !important;
31
+ }
32
+ }
33
+
34
+ .govuk-\!-width-one-third {
35
+ width: 100% !important;
36
+
37
+ @include govuk-media-query($from: tablet) {
38
+ width: 33.33% !important;
39
+ }
40
+ }
41
+
42
+ .govuk-\!-width-one-quarter {
43
+ width: 100% !important;
44
+
45
+ @include govuk-media-query($from: tablet) {
46
+ width: 25% !important;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,21 @@
1
+ // The order we import settings in is important, as some settings files rely on
2
+ // others
3
+
4
+ @import "assets";
5
+
6
+ @import "compatibility";
7
+ @import "global-styles";
8
+ @import "ie8";
9
+
10
+ @import "media-queries";
11
+
12
+ @import "colours-palette";
13
+ @import "colours-organisations";
14
+ @import "colours-applied";
15
+
16
+ @import "spacing";
17
+ @import "measurements";
18
+
19
+ @import "typography-font-families";
20
+ @import "typography-font";
21
+ @import "typography-responsive";