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.
- 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
|
+
}
|