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.
- checksums.yaml +7 -0
- data/.circleci/config.yml +33 -0
- data/.circleci/setup-rubygems.sh +3 -0
- data/.gitignore +9 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +91 -0
- data/Rakefile +50 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/dxw_govuk_frontend_rails.gemspec +27 -0
- data/lib/dxw_govuk_frontend_rails/version.rb +3 -0
- data/lib/dxw_govuk_frontend_rails.rb +12 -0
- data/package-lock.json +13 -0
- data/package.json +26 -0
- data/vendor/assets/fonts/bold-a2452cb66f-v1.woff2 +0 -0
- data/vendor/assets/fonts/bold-f38c792ac2-v1.woff +0 -0
- data/vendor/assets/fonts/bold-fb2676462a-v1.eot +0 -0
- data/vendor/assets/fonts/bold-tabular-357fdfbcc3-v1.eot +0 -0
- data/vendor/assets/fonts/bold-tabular-784c21afb8-v1.woff +0 -0
- data/vendor/assets/fonts/bold-tabular-b89238d840-v1.woff2 +0 -0
- data/vendor/assets/fonts/light-2c037cf7e1-v1.eot +0 -0
- data/vendor/assets/fonts/light-458f8ea81c-v1.woff +0 -0
- data/vendor/assets/fonts/light-f38ad40456-v1.woff2 +0 -0
- data/vendor/assets/fonts/light-tabular-498ea8ffe2-v1.eot +0 -0
- data/vendor/assets/fonts/light-tabular-62cc6f0a28-v1.woff +0 -0
- data/vendor/assets/fonts/light-tabular-851b10ccdd-v1.woff2 +0 -0
- data/vendor/assets/images/favicon.ico +0 -0
- data/vendor/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
- data/vendor/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
- data/vendor/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
- data/vendor/assets/images/govuk-apple-touch-icon.png +0 -0
- data/vendor/assets/images/govuk-crest-2x.png +0 -0
- data/vendor/assets/images/govuk-crest.png +0 -0
- data/vendor/assets/images/govuk-logotype-crown.png +0 -0
- data/vendor/assets/images/govuk-mask-icon.svg +7 -0
- data/vendor/assets/images/govuk-opengraph-image.png +0 -0
- data/vendor/assets/images/icon-arrow-left.png +0 -0
- data/vendor/assets/images/icon-important.png +0 -0
- data/vendor/assets/images/icon-pointer-2x.png +0 -0
- data/vendor/assets/images/icon-pointer.png +0 -0
- data/vendor/assets/javascripts/govuk_frontend_rails.js +2358 -0
- data/vendor/assets/stylesheets/all-ie8.scss +6 -0
- data/vendor/assets/stylesheets/all.scss +11 -0
- data/vendor/assets/stylesheets/components/_all.scss +29 -0
- data/vendor/assets/stylesheets/components/accordion/_accordion.scss +188 -0
- data/vendor/assets/stylesheets/components/back-link/_back-link.scss +54 -0
- data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.scss +119 -0
- data/vendor/assets/stylesheets/components/button/_button.scss +180 -0
- data/vendor/assets/stylesheets/components/character-count/_character-count.scss +31 -0
- data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.scss +161 -0
- data/vendor/assets/stylesheets/components/date-input/_date-input.scss +30 -0
- data/vendor/assets/stylesheets/components/details/_details.scss +89 -0
- data/vendor/assets/stylesheets/components/error-message/_error-message.scss +15 -0
- data/vendor/assets/stylesheets/components/error-summary/_error-summary.scss +72 -0
- data/vendor/assets/stylesheets/components/fieldset/_fieldset.scss +60 -0
- data/vendor/assets/stylesheets/components/file-upload/_file-upload.scss +19 -0
- data/vendor/assets/stylesheets/components/footer/_footer.scss +233 -0
- data/vendor/assets/stylesheets/components/header/_header.scss +304 -0
- data/vendor/assets/stylesheets/components/hint/_hint.scss +50 -0
- data/vendor/assets/stylesheets/components/input/_input.scss +77 -0
- data/vendor/assets/stylesheets/components/inset-text/_inset-text.scss +28 -0
- data/vendor/assets/stylesheets/components/label/_label.scss +45 -0
- data/vendor/assets/stylesheets/components/panel/_panel.scss +44 -0
- data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.scss +31 -0
- data/vendor/assets/stylesheets/components/radios/_radios.scss +187 -0
- data/vendor/assets/stylesheets/components/select/_select.scss +32 -0
- data/vendor/assets/stylesheets/components/skip-link/_skip-link.scss +26 -0
- data/vendor/assets/stylesheets/components/summary-list/_summary-list.scss +123 -0
- data/vendor/assets/stylesheets/components/table/_table.scss +53 -0
- data/vendor/assets/stylesheets/components/tabs/_tabs.scss +130 -0
- data/vendor/assets/stylesheets/components/tag/_tag.scss +33 -0
- data/vendor/assets/stylesheets/components/textarea/_textarea.scss +32 -0
- data/vendor/assets/stylesheets/components/warning-text/_warning-text.scss +59 -0
- data/vendor/assets/stylesheets/core/_all.scss +6 -0
- data/vendor/assets/stylesheets/core/_global-styles.scss +23 -0
- data/vendor/assets/stylesheets/core/_links.scss +31 -0
- data/vendor/assets/stylesheets/core/_lists.scss +58 -0
- data/vendor/assets/stylesheets/core/_section-break.scss +60 -0
- data/vendor/assets/stylesheets/core/_template.scss +35 -0
- data/vendor/assets/stylesheets/core/_typography.scss +190 -0
- data/vendor/assets/stylesheets/govuk-frontend-rails.scss +16 -0
- data/vendor/assets/stylesheets/helpers/_all.scss +12 -0
- data/vendor/assets/stylesheets/helpers/_clearfix.scss +15 -0
- data/vendor/assets/stylesheets/helpers/_colour.scss +51 -0
- data/vendor/assets/stylesheets/helpers/_device-pixels.scss +38 -0
- data/vendor/assets/stylesheets/helpers/_focusable.scss +34 -0
- data/vendor/assets/stylesheets/helpers/_font-faces.scss +67 -0
- data/vendor/assets/stylesheets/helpers/_grid.scss +107 -0
- data/vendor/assets/stylesheets/helpers/_links.scss +200 -0
- data/vendor/assets/stylesheets/helpers/_media-queries.scss +95 -0
- data/vendor/assets/stylesheets/helpers/_shape-arrow.scss +80 -0
- data/vendor/assets/stylesheets/helpers/_spacing.scss +152 -0
- data/vendor/assets/stylesheets/helpers/_typography.scss +188 -0
- data/vendor/assets/stylesheets/helpers/_visually-hidden.scss +82 -0
- data/vendor/assets/stylesheets/objects/_all.scss +4 -0
- data/vendor/assets/stylesheets/objects/_form-group.scss +25 -0
- data/vendor/assets/stylesheets/objects/_grid.scss +27 -0
- data/vendor/assets/stylesheets/objects/_main-wrapper.scss +53 -0
- data/vendor/assets/stylesheets/objects/_width-container.scss +63 -0
- data/vendor/assets/stylesheets/overrides/_all.scss +4 -0
- data/vendor/assets/stylesheets/overrides/_display.scss +18 -0
- data/vendor/assets/stylesheets/overrides/_spacing.scss +62 -0
- data/vendor/assets/stylesheets/overrides/_typography.scss +25 -0
- data/vendor/assets/stylesheets/overrides/_width.scss +49 -0
- data/vendor/assets/stylesheets/settings/_all.scss +21 -0
- data/vendor/assets/stylesheets/settings/_assets.scss +82 -0
- data/vendor/assets/stylesheets/settings/_colours-applied.scss +140 -0
- data/vendor/assets/stylesheets/settings/_colours-organisations.scss +136 -0
- data/vendor/assets/stylesheets/settings/_colours-palette.scss +37 -0
- data/vendor/assets/stylesheets/settings/_compatibility.scss +51 -0
- data/vendor/assets/stylesheets/settings/_global-styles.scss +13 -0
- data/vendor/assets/stylesheets/settings/_ie8.scss +18 -0
- data/vendor/assets/stylesheets/settings/_measurements.scss +99 -0
- data/vendor/assets/stylesheets/settings/_media-queries.scss +23 -0
- data/vendor/assets/stylesheets/settings/_spacing.scss +80 -0
- data/vendor/assets/stylesheets/settings/_typography-font-families.scss +22 -0
- data/vendor/assets/stylesheets/settings/_typography-font.scss +60 -0
- data/vendor/assets/stylesheets/settings/_typography-responsive.scss +180 -0
- data/vendor/assets/stylesheets/tools/_all.scss +8 -0
- data/vendor/assets/stylesheets/tools/_compatibility.scss +36 -0
- data/vendor/assets/stylesheets/tools/_exports.scss +33 -0
- data/vendor/assets/stylesheets/tools/_font-url.scss +28 -0
- data/vendor/assets/stylesheets/tools/_ie8.scss +51 -0
- data/vendor/assets/stylesheets/tools/_iff.scss +15 -0
- data/vendor/assets/stylesheets/tools/_image-url.scss +28 -0
- data/vendor/assets/stylesheets/tools/_px-to-em.scss +20 -0
- data/vendor/assets/stylesheets/tools/_px-to-rem.scss +20 -0
- data/vendor/assets/stylesheets/utilities/_all.scss +2 -0
- data/vendor/assets/stylesheets/utilities/_clearfix.scss +5 -0
- data/vendor/assets/stylesheets/utilities/_visually-hidden.scss +10 -0
- data/vendor/assets/stylesheets/vendor/_sass-mq.scss +351 -0
- metadata +204 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
////
|
2
|
+
/// @group settings/typography
|
3
|
+
////
|
4
|
+
|
5
|
+
/// List of font families to use if using NTA (the default font 'stack' for
|
6
|
+
/// GOV.UK)
|
7
|
+
///
|
8
|
+
/// @type List
|
9
|
+
/// @access public
|
10
|
+
|
11
|
+
$govuk-font-family-nta: "nta", Arial, sans-serif;
|
12
|
+
|
13
|
+
/// List of font families to use if using the 'tabular numbers' subset of NTA
|
14
|
+
/// (the default font 'stack' for GOV.UK)
|
15
|
+
///
|
16
|
+
/// Because ntatabularnumbers only includes the digits 0-10, all other glyphs
|
17
|
+
/// will 'fall-through' the stack to NTA.
|
18
|
+
///
|
19
|
+
/// @type List
|
20
|
+
/// @access public
|
21
|
+
|
22
|
+
$govuk-font-family-nta-tabular: "ntatabularnumbers", $govuk-font-family-nta;
|
@@ -0,0 +1,60 @@
|
|
1
|
+
////
|
2
|
+
/// @group settings/typography
|
3
|
+
////
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
// =========================================================
|
8
|
+
// Font families
|
9
|
+
// =========================================================
|
10
|
+
|
11
|
+
/// Font families to use for all typography on screen media
|
12
|
+
///
|
13
|
+
/// @type List
|
14
|
+
/// @access public
|
15
|
+
|
16
|
+
$govuk-font-family: $govuk-font-family-nta !default;
|
17
|
+
|
18
|
+
/// Font families to use when displaying tabular numbers
|
19
|
+
///
|
20
|
+
/// @type List
|
21
|
+
/// @access public
|
22
|
+
|
23
|
+
$govuk-font-family-tabular: $govuk-font-family-nta-tabular !default;
|
24
|
+
|
25
|
+
/// Font families to use for print media
|
26
|
+
///
|
27
|
+
/// @type List
|
28
|
+
/// @access public
|
29
|
+
|
30
|
+
$govuk-font-family-print: sans-serif !default;
|
31
|
+
|
32
|
+
/// Include the default @font-face declarations
|
33
|
+
///
|
34
|
+
/// If you have set $govuk-font-family to something other than $govuk-font-family-nta this option is disabled by default.
|
35
|
+
///
|
36
|
+
/// If you are using $govuk-compatibility-govuktemplate this option is disabled by default.
|
37
|
+
///
|
38
|
+
/// @type Boolean
|
39
|
+
/// @access public
|
40
|
+
|
41
|
+
$govuk-include-default-font-face: (
|
42
|
+
$govuk-font-family == $govuk-font-family-nta and
|
43
|
+
not($govuk-compatibility-govuktemplate)
|
44
|
+
) !default;
|
45
|
+
|
46
|
+
// =========================================================
|
47
|
+
// Font weights
|
48
|
+
// =========================================================
|
49
|
+
|
50
|
+
/// Font weight for regular typography
|
51
|
+
///
|
52
|
+
/// @type Number
|
53
|
+
/// @access public
|
54
|
+
$govuk-font-weight-regular: 400 !default;
|
55
|
+
|
56
|
+
/// Font weight for bold typography
|
57
|
+
///
|
58
|
+
/// @type Number
|
59
|
+
/// @access public
|
60
|
+
$govuk-font-weight-bold: 700 !default;
|
@@ -0,0 +1,180 @@
|
|
1
|
+
////
|
2
|
+
/// @group settings/typography
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Whether or not to define font sizes in rem, improving accessibility by
|
6
|
+
/// allowing users to adjust the base font-size. This is currently off by
|
7
|
+
/// default, but will be enabled by default for projects that do not use
|
8
|
+
/// alphagov/govuk_template in the next major release.
|
9
|
+
///
|
10
|
+
/// If this is enabled, you should make sure that $govuk-root-font-size is set
|
11
|
+
/// correctly for your project
|
12
|
+
///
|
13
|
+
/// If any of the compatibility variables are set, then default
|
14
|
+
/// responsive typography to off.
|
15
|
+
///
|
16
|
+
/// @type Boolean
|
17
|
+
/// @access public
|
18
|
+
|
19
|
+
$govuk-typography-use-rem: if((
|
20
|
+
$govuk-compatibility-govukfrontendtoolkit or
|
21
|
+
$govuk-compatibility-govuktemplate or
|
22
|
+
$govuk-compatibility-govukelements
|
23
|
+
), false, true) !default;
|
24
|
+
|
25
|
+
/// Root font size
|
26
|
+
///
|
27
|
+
/// This is used to calculate rem sizes for the typography, and should match the
|
28
|
+
/// _effective_ font-size of your root (or html) element.
|
29
|
+
///
|
30
|
+
/// Ideally you should not be setting the font-size on the html or root element
|
31
|
+
/// in order to allow it to scale with user-preference, in which case this
|
32
|
+
/// should be set to 16px.
|
33
|
+
///
|
34
|
+
/// If you are integrating Frontend into an existing project that also uses
|
35
|
+
/// alphagov/govuk_template then you should set this to 10px to match the 62.5%
|
36
|
+
/// (10px) base font size that govuk_template sets on the <html> element.
|
37
|
+
///
|
38
|
+
/// @type Number
|
39
|
+
/// @access public
|
40
|
+
|
41
|
+
$govuk-root-font-size: 16px !default;
|
42
|
+
|
43
|
+
/// Responsive typography font map
|
44
|
+
///
|
45
|
+
/// This is used to generate responsive typography that adapts according to the
|
46
|
+
/// breakpoints.
|
47
|
+
///
|
48
|
+
/// Font size and font weight can be defined for each breakpoint. You can define
|
49
|
+
/// different behaviour on tablet and desktop. The 'null' breakpoint is for
|
50
|
+
/// mobile.
|
51
|
+
///
|
52
|
+
/// Line-heights will automatically be converted from pixel measurements into
|
53
|
+
/// relative values. For example, with a font-size of 16px and a line-height of
|
54
|
+
/// 24px, the line-height will be converted to 1.5 before output.
|
55
|
+
///
|
56
|
+
/// You can also specify a separate font size and line height for print media.
|
57
|
+
///
|
58
|
+
/// @type Map
|
59
|
+
///
|
60
|
+
/// @prop {Number} $point.$breakpoint.font-size - Font size for `$point` at `$breakpoint`
|
61
|
+
/// @prop {Number} $point.$breakpoint.line-height - Line height for `$point` at `$breakpoint`
|
62
|
+
/// @prop {Number} $point.print.font-size - Font size for `$point` when printing
|
63
|
+
/// @prop {Number} $point.print.line-height - Line height for `$point` when printing
|
64
|
+
///
|
65
|
+
/// @access public
|
66
|
+
|
67
|
+
$govuk-typography-scale: (
|
68
|
+
80: (
|
69
|
+
null: (
|
70
|
+
font-size: 53px,
|
71
|
+
line-height: 55px
|
72
|
+
),
|
73
|
+
tablet: (
|
74
|
+
font-size: 80px,
|
75
|
+
line-height: 80px
|
76
|
+
),
|
77
|
+
print: (
|
78
|
+
font-size: 53pt,
|
79
|
+
line-height: 1.1
|
80
|
+
)
|
81
|
+
),
|
82
|
+
48: (
|
83
|
+
null: (
|
84
|
+
font-size: 32px,
|
85
|
+
line-height: 35px
|
86
|
+
),
|
87
|
+
tablet: (
|
88
|
+
font-size: 48px,
|
89
|
+
line-height: 50px
|
90
|
+
),
|
91
|
+
print: (
|
92
|
+
font-size: 32pt,
|
93
|
+
line-height: 1.15
|
94
|
+
)
|
95
|
+
),
|
96
|
+
36: (
|
97
|
+
null: (
|
98
|
+
font-size: 24px,
|
99
|
+
line-height: 25px
|
100
|
+
),
|
101
|
+
tablet: (
|
102
|
+
font-size: 36px,
|
103
|
+
line-height: 40px
|
104
|
+
),
|
105
|
+
print: (
|
106
|
+
font-size: 24pt,
|
107
|
+
line-height: 1.05
|
108
|
+
)
|
109
|
+
),
|
110
|
+
27: (
|
111
|
+
null: (
|
112
|
+
font-size: 18px,
|
113
|
+
line-height: 20px
|
114
|
+
),
|
115
|
+
tablet: (
|
116
|
+
font-size: 27px,
|
117
|
+
line-height: 30px
|
118
|
+
),
|
119
|
+
print: (
|
120
|
+
font-size: 18pt,
|
121
|
+
line-height: 1.15
|
122
|
+
)
|
123
|
+
),
|
124
|
+
24: (
|
125
|
+
null: (
|
126
|
+
font-size: 18px,
|
127
|
+
line-height: 20px
|
128
|
+
),
|
129
|
+
tablet: (
|
130
|
+
font-size: 24px,
|
131
|
+
line-height: 30px
|
132
|
+
),
|
133
|
+
print: (
|
134
|
+
font-size: 18pt,
|
135
|
+
line-height: 1.15
|
136
|
+
)
|
137
|
+
),
|
138
|
+
19: (
|
139
|
+
null: (
|
140
|
+
font-size: 16px,
|
141
|
+
line-height: 20px
|
142
|
+
),
|
143
|
+
tablet: (
|
144
|
+
font-size: 19px,
|
145
|
+
line-height: 25px
|
146
|
+
),
|
147
|
+
print: (
|
148
|
+
font-size: 14pt,
|
149
|
+
line-height: 1.15
|
150
|
+
)
|
151
|
+
),
|
152
|
+
16: (
|
153
|
+
null: (
|
154
|
+
font-size: 14px,
|
155
|
+
line-height: 16px
|
156
|
+
),
|
157
|
+
tablet: (
|
158
|
+
font-size: 16px,
|
159
|
+
line-height: 20px
|
160
|
+
),
|
161
|
+
print: (
|
162
|
+
font-size: 14pt,
|
163
|
+
line-height: 1.2
|
164
|
+
)
|
165
|
+
),
|
166
|
+
14: (
|
167
|
+
null: (
|
168
|
+
font-size: 12px,
|
169
|
+
line-height: 15px
|
170
|
+
),
|
171
|
+
tablet: (
|
172
|
+
font-size: 14px,
|
173
|
+
line-height: 20px
|
174
|
+
),
|
175
|
+
print: (
|
176
|
+
font-size: 12pt,
|
177
|
+
line-height: 1.2
|
178
|
+
)
|
179
|
+
)
|
180
|
+
) !default;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Conditional Compatibility Mixin
|
6
|
+
///
|
7
|
+
/// Selectively output a block (available to the mixin as @content) if a given
|
8
|
+
/// $product is also identified as being used in the project.
|
9
|
+
///
|
10
|
+
/// This can then be used to include styles that are only needed to override
|
11
|
+
/// styles provided by those other products (e.g. where govuk_template has a
|
12
|
+
/// very specific link selector that otherwise affects buttons).
|
13
|
+
///
|
14
|
+
/// @example scss
|
15
|
+
/// // Override .my-class if GOV.UK Template is also being used
|
16
|
+
/// @include govuk-compatibility(govuk_template) {
|
17
|
+
/// .my-class {
|
18
|
+
/// color: inherit;
|
19
|
+
/// }
|
20
|
+
/// }
|
21
|
+
///
|
22
|
+
/// @param {String} $product - Name of product that we are 'defending' against.
|
23
|
+
/// @content Passed content is outputted only if Frontend is being used with
|
24
|
+
/// this product
|
25
|
+
/// @throw Errors if product name is not recognised
|
26
|
+
/// @access public
|
27
|
+
|
28
|
+
@mixin govuk-compatibility($product) {
|
29
|
+
@if map-has-key($_govuk-compatibility, $product) {
|
30
|
+
@if map-get($_govuk-compatibility, $product) == true {
|
31
|
+
@content;
|
32
|
+
}
|
33
|
+
} @else {
|
34
|
+
@error "Non existent product '#{$product}'";
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// List of modules which have already been exported
|
6
|
+
///
|
7
|
+
/// @type List
|
8
|
+
/// @access private
|
9
|
+
|
10
|
+
$_govuk-imported-modules: () !default;
|
11
|
+
|
12
|
+
/// Export module
|
13
|
+
///
|
14
|
+
/// Ensure that the modules of CSS that we define throughout Frontend are only
|
15
|
+
/// included in the generated CSS once, no matter how many times they are
|
16
|
+
/// imported across the individual components.
|
17
|
+
///
|
18
|
+
/// @param {String} $name - Name of module - must be unique within the codebase
|
19
|
+
/// @content The passed content will only be outputted if a module of the same
|
20
|
+
/// $name has not already been outputted
|
21
|
+
/// @access public
|
22
|
+
|
23
|
+
@mixin govuk-exports($name) {
|
24
|
+
// If the mixin is not in the list of modules already exported...
|
25
|
+
@if (index($_govuk-imported-modules, $name) == null) {
|
26
|
+
// ... then add it to the list
|
27
|
+
$_govuk-imported-modules: append($_govuk-imported-modules, $name) !global;
|
28
|
+
// ... and output the CSS for that module
|
29
|
+
@content;
|
30
|
+
}
|
31
|
+
// The next time exports is called for the module of the same name, it will be
|
32
|
+
// found in the list and so nothing will be outputted.
|
33
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
// Disable indentation linting in this file only
|
6
|
+
// sass-lint:disable indentation
|
7
|
+
|
8
|
+
/// Font URL
|
9
|
+
///
|
10
|
+
/// If a custom font-url handler is defined ($govuk-font-url-function) then
|
11
|
+
/// it will be called, otherwise a url will be returned with the filename
|
12
|
+
/// appended to the font path.
|
13
|
+
///
|
14
|
+
/// @param {String} $filename - Font filename
|
15
|
+
/// @return {String} URL for the filename, wrapped in `url()`
|
16
|
+
/// @access public
|
17
|
+
|
18
|
+
@function govuk-font-url($filename) {
|
19
|
+
$use-custom-function: variable-exists("govuk-font-url-function")
|
20
|
+
and $govuk-font-url-function
|
21
|
+
and function-exists($govuk-font-url-function);
|
22
|
+
|
23
|
+
@if ($use-custom-function) {
|
24
|
+
@return call(get-function($govuk-font-url-function), $filename);
|
25
|
+
} @else {
|
26
|
+
@return url($govuk-fonts-path + $filename);
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Conditionally include rules only for IE8
|
6
|
+
///
|
7
|
+
/// @content Passed content is only outputted if we're compiling a stylesheet
|
8
|
+
/// that targets IE8 (if `$govuk-is-ie8` is true)
|
9
|
+
///
|
10
|
+
/// @example scss - Usage
|
11
|
+
///
|
12
|
+
/// .foo {
|
13
|
+
/// min-width: 100px;
|
14
|
+
/// // Specify width for IE8 only
|
15
|
+
/// @include govuk-if-ie8 {
|
16
|
+
/// width: 100px;
|
17
|
+
/// }
|
18
|
+
/// }
|
19
|
+
///
|
20
|
+
/// @access public
|
21
|
+
|
22
|
+
@mixin govuk-if-ie8 {
|
23
|
+
@if $govuk-is-ie8 {
|
24
|
+
@content;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
/// Conditionally exclude rules for IE8
|
29
|
+
///
|
30
|
+
/// @content Passed content is only outputted if we're not compiling a
|
31
|
+
/// stylesheet that targets IE8 (if `$govuk-is-ie8` is false)
|
32
|
+
///
|
33
|
+
/// @example scss - Usage
|
34
|
+
///
|
35
|
+
/// .foo {
|
36
|
+
/// font-weight: bold;
|
37
|
+
///
|
38
|
+
/// // Enhance foo only for modern browsers (not IE8)
|
39
|
+
/// @include govuk-not-ie8 {
|
40
|
+
/// font-family: "Comic Sans MS", "Curlz MT" cursive, sans-serif;
|
41
|
+
/// color: #FF69B4;
|
42
|
+
/// }
|
43
|
+
/// }
|
44
|
+
///
|
45
|
+
/// @access public
|
46
|
+
|
47
|
+
@mixin govuk-not-ie8 {
|
48
|
+
@if not $govuk-is-ie8 {
|
49
|
+
@content;
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Syntactic sugar around Sass' built-in `if` function that does not require
|
6
|
+
/// you to pass a value for `$if-false`.
|
7
|
+
///
|
8
|
+
/// @param {Boolean} $condition - Whether to return the value of `$if-true`
|
9
|
+
/// @param {Mixed} $if-true - Value to return if `$condition` is truthy
|
10
|
+
/// @return {Mixed} Value of `$if-true` if `$condition` is truthy, else null
|
11
|
+
/// @access public
|
12
|
+
|
13
|
+
@function iff($condition, $if-true) {
|
14
|
+
@return if($condition, $if-true, null);
|
15
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
// Disable indentation linting in this file only
|
6
|
+
// sass-lint:disable indentation
|
7
|
+
|
8
|
+
/// Image URL
|
9
|
+
///
|
10
|
+
/// If a custom image-url handler is defined ($govuk-image-url-function) then
|
11
|
+
/// it will be called, otherwise a url will be returned with the filename
|
12
|
+
/// appended to the image path.
|
13
|
+
///
|
14
|
+
/// @param {String} Filename for the image to load
|
15
|
+
/// @return {String} URL for the filename, wrapped in `url()`
|
16
|
+
/// @access public
|
17
|
+
|
18
|
+
@function govuk-image-url($filename) {
|
19
|
+
$use-custom-function: variable-exists("govuk-image-url-function")
|
20
|
+
and $govuk-image-url-function
|
21
|
+
and function-exists($govuk-image-url-function);
|
22
|
+
|
23
|
+
@if ($use-custom-function) {
|
24
|
+
@return call(get-function($govuk-image-url-function), $filename);
|
25
|
+
} @else {
|
26
|
+
@return url($govuk-images-path + $filename);
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Convert pixels to em
|
6
|
+
///
|
7
|
+
/// @param {Number} $value - Length in pixels
|
8
|
+
/// @param {Number} $context-font-size - Font size of element
|
9
|
+
/// @return {Number} Length in ems
|
10
|
+
/// @access public
|
11
|
+
|
12
|
+
@function govuk-em($value, $context-font-size) {
|
13
|
+
@if (unitless($value)) {
|
14
|
+
$value: $value * 1px;
|
15
|
+
}
|
16
|
+
@if (unitless($context-font-size)) {
|
17
|
+
$context-font-size: $context-font-size * 1px;
|
18
|
+
}
|
19
|
+
@return $value / $context-font-size * 1em;
|
20
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
////
|
2
|
+
/// @group tools
|
3
|
+
////
|
4
|
+
|
5
|
+
/// Convert pixels to rem
|
6
|
+
///
|
7
|
+
/// The $govuk-root-font-size (defined in settings/_typography-responsive.scss)
|
8
|
+
/// must be configured to match the font-size of your root (html) element
|
9
|
+
///
|
10
|
+
/// @param {Number} $value - Length in pixels
|
11
|
+
/// @return {Number} Length in rems
|
12
|
+
/// @access public
|
13
|
+
|
14
|
+
@function govuk-px-to-rem($value) {
|
15
|
+
@if (unitless($value)) {
|
16
|
+
$value: $value * 1px;
|
17
|
+
}
|
18
|
+
|
19
|
+
@return $value / $govuk-root-font-size * 1rem;
|
20
|
+
}
|