dxw_govuk_frontend_rails 2.9.0.pre.alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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";