govuk_elements_rails 0.3.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +19 -0
  3. data/README.md +165 -46
  4. data/lib/govuk_elements_rails.rb +0 -1
  5. data/lib/govuk_elements_rails/engine.rb +0 -10
  6. data/vendor/assets/javascripts/details.polyfill.js +29 -43
  7. data/vendor/assets/stylesheets/_govuk-elements.scss +54 -0
  8. data/vendor/assets/stylesheets/elements/_base.scss +126 -0
  9. data/vendor/assets/stylesheets/elements/_breadcrumbs.scss +6 -0
  10. data/vendor/assets/stylesheets/elements/_buttons.scss +5 -5
  11. data/vendor/assets/stylesheets/elements/_components.scss +9 -0
  12. data/vendor/assets/stylesheets/elements/_details.scss +3 -9
  13. data/vendor/assets/stylesheets/elements/_elements-typography.scss +102 -9
  14. data/vendor/assets/stylesheets/elements/_forms.scss +84 -61
  15. data/vendor/assets/stylesheets/elements/_helpers.scss +6 -12
  16. data/vendor/assets/stylesheets/elements/_icons.scss +63 -207
  17. data/vendor/assets/stylesheets/elements/_layout.scss +9 -22
  18. data/vendor/assets/stylesheets/elements/_lists.scss +10 -13
  19. data/vendor/assets/stylesheets/elements/_panels.scss +24 -17
  20. data/vendor/assets/stylesheets/elements/_phase-banner.scss +10 -0
  21. data/vendor/assets/stylesheets/elements/_tables.scss +1 -5
  22. data/vendor/assets/stylesheets/elements/forms/_form-block-labels.scss +8 -7
  23. data/vendor/assets/stylesheets/elements/forms/_form-validation.scss +0 -3
  24. metadata +33 -49
  25. data/LICENCE +0 -20
  26. data/app/builders/govuk_elements_form_builder.rb +0 -77
  27. data/app/builders/labelling_form_builder.rb +0 -316
  28. data/lib/govuk_elements_rails/version.rb +0 -5
  29. data/vendor/assets/images/icons/accordian-arrow-2x.png +0 -0
  30. data/vendor/assets/images/icons/accordian-arrow.png +0 -0
  31. data/vendor/assets/images/icons/arrow-sprite.png +0 -0
  32. data/vendor/assets/images/icons/icon-calendar-2x.png +0 -0
  33. data/vendor/assets/images/icons/icon-calendar.png +0 -0
  34. data/vendor/assets/images/icons/icon-file-download-2x.png +0 -0
  35. data/vendor/assets/images/icons/icon-file-download.png +0 -0
  36. data/vendor/assets/images/icons/icon-important-2x.png +0 -0
  37. data/vendor/assets/images/icons/icon-important.png +0 -0
  38. data/vendor/assets/images/icons/icon-information-2x.png +0 -0
  39. data/vendor/assets/images/icons/icon-information.png +0 -0
  40. data/vendor/assets/images/icons/icon-locator-2x.png +0 -0
  41. data/vendor/assets/images/icons/icon-locator.png +0 -0
  42. data/vendor/assets/images/icons/icon-pointer-2x.png +0 -0
  43. data/vendor/assets/images/icons/icon-pointer-black-2x.png +0 -0
  44. data/vendor/assets/images/icons/icon-pointer-black.png +0 -0
  45. data/vendor/assets/images/icons/icon-pointer-indexed.png +0 -0
  46. data/vendor/assets/images/icons/icon-pointer.png +0 -0
  47. data/vendor/assets/images/icons/icon-search-2x.png +0 -0
  48. data/vendor/assets/images/icons/icon-search.png +0 -0
  49. data/vendor/assets/images/icons/player-icon-forward.png +0 -0
  50. data/vendor/assets/images/icons/player-icon-pause.png +0 -0
  51. data/vendor/assets/images/icons/player-icon-play.png +0 -0
  52. data/vendor/assets/images/icons/player-icon-rewind.png +0 -0
  53. data/vendor/assets/images/icons/player-icon-volume.png +0 -0
  54. data/vendor/assets/javascripts/application.js +0 -157
  55. data/vendor/assets/javascripts/bind.js +0 -40
  56. data/vendor/assets/javascripts/selection-buttons.js +0 -111
  57. data/vendor/assets/stylesheets/elements-page-ie6.scss +0 -5
  58. data/vendor/assets/stylesheets/elements-page-ie7.scss +0 -4
  59. data/vendor/assets/stylesheets/elements-page-ie8.scss +0 -4
  60. data/vendor/assets/stylesheets/elements-page.scss +0 -386
  61. data/vendor/assets/stylesheets/main-ie6.scss +0 -5
  62. data/vendor/assets/stylesheets/main-ie7.scss +0 -4
  63. data/vendor/assets/stylesheets/main-ie8.scss +0 -4
  64. data/vendor/assets/stylesheets/main.scss +0 -36
  65. data/vendor/assets/stylesheets/prism.scss +0 -144
  66. data/vendor/assets/stylesheets/service-design-manual/helpers/_breadcrumbs.scss +0 -81
  67. data/vendor/assets/stylesheets/service-design-manual/helpers/_page-header.scss +0 -28
  68. data/vendor/assets/stylesheets/service-design-manual/styleguide/_colours.scss +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ed73a5758d285ea9ec1e7a0421286d74ea2792f5
4
- data.tar.gz: 1e3187d96b39928a349a22b1d7016f5b938e78f4
3
+ metadata.gz: daa6ca3a658ac82f5376402f7b2340a632d51c8e
4
+ data.tar.gz: 444a393037f86a9829f34cf65bc832c635ac84a0
5
5
  SHA512:
6
- metadata.gz: 201e1254abc711464992b54cd023d15bda0d5b3fc9ed58326493b4c18a0eeb0348be80a8744eba1e42cf993d58c948bd9ba9e162f113bd9ced2a925cb7ea021b
7
- data.tar.gz: 95ce6ed1575e03f5d78a9ed37a07f51a4e754448d38c0afa7412f657e204df83fd073f303abcf5168bc8e0577f3ff09c4f5266e5bc444382311592ffb72fc740
6
+ metadata.gz: 89b63c571f1666b85d2ecc654840c04c75b1398410738c254640aee1c792930796ee98a818bbbaa9605f251079dd1ddb53668800bdcd6b9ec728f7702ac7e8bc
7
+ data.tar.gz: 99471d0e0cf3d42df8d2659fcb223bf9a658543697a1a1650d6d128eb8cb454fc3c7c75a9ee5adffb35a5c8c014915d82ce65afed6124e04657c24e106a88bca
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (C) 2014 Crown Copyright (Government Digital Service)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
data/README.md CHANGED
@@ -3,17 +3,137 @@
3
3
  A gem wrapper around [govuk_elements](http://github.com/alphagov/govuk_elements)
4
4
  that pulls stylesheet and javascript files into a Rails app.
5
5
 
6
- ## Installing
6
+ ## Installing for use in a Rails app
7
7
 
8
- Just include `govuk_elements_rails` in your `Gemfile`. It
9
- automatically attaches itself to your asset path so the static/SCSS
8
+ Just include `govuk_elements_rails` in your Rails application `Gemfile`:
9
+
10
+ gem 'govuk_elements_rails'
11
+
12
+ It automatically attaches itself to your asset path so the static/SCSS
10
13
  files will be available to the asset pipeline.
11
14
 
12
- ### Development
15
+ ### Dependency on govuk_frontend_toolkit
13
16
 
14
- If you are installing from git, ensure you enable submodules like so:
17
+ The gem has a dependency on the
18
+ [govuk_frontend_toolkit gem](https://rubygems.org/gems/govuk_frontend_toolkit).
19
+ So `govuk_frontend_toolkit` will be installed on `bundle install` if it is not
20
+ installed already.
15
21
 
16
- gem 'govuk_elements_rails', :git => "https://github.com/ministryofjustice/govuk_elements_rails.git", :submodules => true
22
+ ### Dependency on govuk_template base HTML styles
23
+
24
+ The gem assumes you have `govuk_template` base HTML styles in your SASS.
25
+ But the [govuk_template gem](https://rubygems.org/gems/govuk_template) is not a
26
+ dependency. Either require `govuk_template` in your `Gemfile`:
27
+
28
+ gem 'govuk_template'
29
+
30
+ or include the following in a Sass file, see Usage section for details:
31
+
32
+ // Base (unclassed HTML elements)
33
+ // These are predefined by govuk_template
34
+ // If you're not using govuk_template, uncomment the line below.
35
+ // HTML elements, set by the GOV.UK template
36
+ @import 'elements/base'
37
+
38
+ ## Usage
39
+
40
+ For detailed information on usage see the
41
+ [govuk_elements README](https://github.com/alphagov/govuk_elements#govuk-elements).
42
+
43
+ ### Stylesheets usage
44
+
45
+ At the top of a Sass file in your Rails project you should use an `@import` rule
46
+ to include the file for the mixins you require.
47
+
48
+ For example here are possible imports, remember to add semicolons to the end of
49
+ lines if you are using the `scss` format instead of `sass`:
50
+
51
+ // From GDS's alphagov/govuk_frontend_toolkit
52
+ @import 'colours'
53
+ @import 'font_stack'
54
+ @import 'measurements'
55
+ @import 'conditionals'
56
+ @import 'device-pixels'
57
+ @import 'grid_layout'
58
+ @import 'typography'
59
+ @import 'shims'
60
+
61
+ @import 'design-patterns/alpha-beta'
62
+ @import 'design-patterns/buttons'
63
+ @import 'design-patterns/breadcrumbs'
64
+
65
+ // From GDS's alphagov/govuk_elements
66
+ @import 'elements/helpers'
67
+ @import 'elements/reset'
68
+
69
+ // Base (unclassed HTML elements)
70
+ // These are predefined by govuk_template
71
+ // If you're not using govuk_template, uncomment the line below.
72
+ // HTML elements, set by the GOV.UK template
73
+ // @import 'elements/base'
74
+
75
+ @import 'elements/layout'
76
+ @import 'elements/elements-typography'
77
+ @import 'elements/buttons'
78
+ // @import 'elements/icons'
79
+ @import 'elements/lists'
80
+ // @import 'elements/tables'
81
+ @import 'elements/details'
82
+ @import 'elements/panels'
83
+ @import 'elements/forms'
84
+ @import 'elements/forms/form-block-labels'
85
+ @import 'elements/forms/form-date'
86
+ @import 'elements/forms/form-validation'
87
+ @import 'elements/breadcrumbs'
88
+ @import 'elements/phase-banner'
89
+ @import 'elements/components'
90
+
91
+ For further detailed information on usage see the
92
+ [govuk_elements README](https://github.com/alphagov/govuk_elements#govuk-elements).
93
+
94
+ ### Javascript usage
95
+
96
+ In the `app/assets/javascripts/application.js` file in your Rails project use
97
+ `require` rule to include the files for the javascript enhancements you require.
98
+ For example here are all the requires possible at present:
99
+
100
+ // from govuk_elements gem
101
+ //= require details.polyfill
102
+
103
+ ### Javascript from govuk_frontend_toolkit
104
+
105
+ In the `app/assets/javascripts/application.js` file in your Rails project use
106
+ `require` rule to include javascript from the `govuk_frontend_toolkit` gem. For
107
+ example:
108
+
109
+ // from govuk_frontend_toolkit gem
110
+ //= require vendor/polyfills/bind
111
+ //= require govuk/selection-buttons
112
+
113
+ To include all of the govuk javascript, require `govuk_toolkit`, i.e.
114
+
115
+ // from govuk_frontend_toolkit gem
116
+ //= require vendor/polyfills/bind
117
+ //= require govuk_toolkit
118
+
119
+ See the
120
+ [govuk_frontend_toolkit documentation](https://github.com/alphagov/govuk_frontend_toolkit#documentation)
121
+ for details of what javascript is available.
122
+
123
+ ## Alternate ways to reuse GOV.UK Elements
124
+
125
+ There are other alternate ways to include GOV.UK Elements implementations in a Rails
126
+ project, for example via [NPM](https://www.npmjs.com/package/govuk-elements-sass)
127
+ or [Mojular](https://github.com/mojular/govuk-elements).
128
+
129
+ Feel free to use an alternate approach when it's more appropriate for your team.
130
+
131
+ ## Making updates to the gem itself
132
+
133
+ You only need to look at this section if you want to update the gem with changes
134
+ from the govuk-elements repo.
135
+
136
+ If you just want to use the gem in your Rails application, don't follow these steps.
17
137
 
18
138
  If you are working on the gem itself, clone and download submodules like this:
19
139
 
@@ -22,19 +142,47 @@ If you are working on the gem itself, clone and download submodules like this:
22
142
  git submodule init
23
143
  git submodule update
24
144
 
25
- To add a javascript file to gem, create new symlink to govuk_elements file like this:
145
+ To update govuk_elements to a specific tag:
26
146
 
27
- cd vendor/assets/javascripts/
28
- ln -s ../../../govuk_elements/public/javascripts/application.js
29
- ls -l
147
+ cd govuk_elements
148
+ git fetch origin
149
+ git describe --tags # shows current tag
150
+ git tag -l # lists available tags
151
+ git checkout master
152
+ latest_tag=`git describe --abbrev=0 --tags`
153
+ git checkout $latest_tag # change to most recent tag
154
+ cd ..
30
155
 
31
- To update govuk_elements to last master commit:
156
+ Check that the symlinks under `vendor/assets` still point to the govuk_elements files.
157
+
158
+ To create the gem for local testing:
159
+
160
+ rake clean
161
+ rake gem
162
+
163
+ If you're happy all's ok, you can commit:
32
164
 
33
165
  cd govuk_elements
34
- git checkout master
35
- git pull
166
+ tag_sha=`git rev-parse HEAD`
167
+ commit_msg="Upgrade to govuk_elements $latest_tag"
168
+ commit_msg2="See govuk_elements $latest_tag changelog for details:"
169
+ commit_msg3="https://github.com/alphagov/govuk_elements/blob/$tag_sha/CHANGELOG.md"
170
+
171
+ echo $commit_msg
172
+ echo $commit_msg2
173
+ echo $commit_msg3
36
174
  cd ..
37
- git commit -am "Update govuk_elements to last master commit."
175
+ git add govuk_elements
176
+ git commit -m "$commit_msg" -m "$commit_msg2" -m "$commit_msg3"
177
+
178
+ To add a javascript file to gem, create new symlink to govuk_elements file like in this example:
179
+
180
+ cd vendor/assets/javascripts/
181
+ ls -l
182
+ ln -s ../../../govuk_elements/public/javascripts/vendor/details.polyfill.js .
183
+ ls -l
184
+ cd ../../..
185
+ git add vendor/javascripts/details.polyfill.js
38
186
 
39
187
  To update version number, edit version.rb, and repackage:
40
188
 
@@ -46,39 +194,10 @@ To tag and publish the gem to rubygems.org:
46
194
 
47
195
  rake publish
48
196
 
49
- ## Usage
50
-
51
- At the top of a Sass file in your Rails project you should use an `@import` rule
52
- to include the file for the mixins you require. For example here are all the
53
- imports possible:
54
-
55
- @import 'elements/helpers';
56
- @import 'elements/reset';
57
- @import 'elements/elements-typography';
58
- @import 'elements/layout';
59
-
60
- @import 'elements/forms';
61
- @import 'elements/tables';
62
- @import 'elements/buttons';
63
- @import 'elements/details';
64
- @import 'elements/lists';
65
- @import 'elements/panels';
66
- @import "elements/icons";
197
+ If you are installing from git for testing, ensure you enable submodules in your Gemfile
198
+ require like so:
67
199
 
68
- In the `app/assets/javascripts/application.js` file in your Rails project use
69
- `require` rule to include the files for the javascript enhancements you require.
70
- For example here are all the requires possible at present:
71
-
72
- // from govuk_elements gem
73
- //= require details.polyfill
74
- //= require bind
75
- //= require selection-buttons
76
-
77
- ## Alternate ways to reuse GOV.UK Elements
78
-
79
- There are other alternate ways to include GOV.UK Elements files in a Rails
80
- project, for example via `Bower`. Feel free to use an alternate approach if it
81
- is more appropriate for your team.
200
+ gem 'govuk_elements_rails', :git => "https://github.com/ministryofjustice/govuk_elements_rails.git", :submodules => true
82
201
 
83
202
  ## Feedback
84
203
 
@@ -1,4 +1,3 @@
1
1
  module GovUKElementsRails
2
2
  require 'govuk_elements_rails/engine'
3
- autoload 'Version', 'govuk_elements_rails/version'
4
3
  end
@@ -1,14 +1,4 @@
1
1
  module GovUKElementsRails
2
2
  class Engine < ::Rails::Engine
3
-
4
- initializer "govuk_elements_rails.default_form_builder" do |app|
5
- use_builder = app.config.respond_to?(:use_govuk_elements_form_builder) &&
6
- app.config.use_govuk_elements_form_builder
7
-
8
- if use_builder
9
- ActionView::Base.default_form_builder = GovukElementsFormBuilder
10
- end
11
- end
12
-
13
3
  end
14
4
  end
@@ -7,6 +7,9 @@
7
7
  // http://www.sitepoint.com/fixing-the-details-element/
8
8
 
9
9
  (function () {
10
+ 'use strict';
11
+
12
+ var NATIVE_DETAILS = typeof document.createElement('details').open === 'boolean';
10
13
 
11
14
  // Add event construct for modern browsers or IE
12
15
  // which fires the callback with a pre-converted target reference
@@ -26,7 +29,7 @@
26
29
  function addClickEvent(node, callback) {
27
30
  // Prevent space(32) from scrolling the page
28
31
  addEvent(node, 'keypress', function (e, target) {
29
- if (target.nodeName === "SUMMARY") {
32
+ if (target.nodeName === 'SUMMARY') {
30
33
  if (e.keyCode === 32) {
31
34
  if (e.preventDefault) {
32
35
  e.preventDefault();
@@ -78,12 +81,9 @@
78
81
 
79
82
  // else iterate through them to apply their initial state
80
83
  var n = list.length, i = 0;
81
- for (n; i < n; i++) {
84
+ for (i; i < n; i++) {
82
85
  var details = list[i];
83
86
 
84
- // Detect native implementations
85
- details.__native = typeof(details.open) == 'boolean';
86
-
87
87
  // Save shortcuts to the inner summary and content elements
88
88
  details.__summary = details.getElementsByTagName('summary').item(0);
89
89
  details.__content = details.getElementsByTagName('div').item(0);
@@ -103,47 +103,23 @@
103
103
  // Add aria-controls
104
104
  details.__summary.setAttribute('aria-controls', details.__content.id);
105
105
 
106
- // Set tabindex so the summary is keyboard accessible
107
- // details.__summary.setAttribute('tabindex', 0);
106
+ // Set tabIndex so the summary is keyboard accessible for non-native elements
108
107
  // http://www.saliences.com/browserBugs/tabIndex.html
109
- details.__summary.tabIndex = 0;
110
-
111
- // Detect initial open/closed state
108
+ if (!NATIVE_DETAILS) {
109
+ details.__summary.tabIndex = 0;
110
+ }
112
111
 
113
- // Native support - has 'open' attribute
114
- if (details.open === true) {
112
+ // Detect initial open state
113
+ var openAttr = details.getAttribute('open') !== null;
114
+ if (openAttr === true) {
115
115
  details.__summary.setAttribute('aria-expanded', 'true');
116
116
  details.__content.setAttribute('aria-hidden', 'false');
117
- details.__content.style.display = 'block';
118
- }
119
-
120
- // Native support - doesn't have 'open' attribute
121
- if (details.open === false) {
117
+ } else {
122
118
  details.__summary.setAttribute('aria-expanded', 'false');
123
119
  details.__content.setAttribute('aria-hidden', 'true');
124
- details.__content.style.display = 'none';
125
- }
126
-
127
- // If this is not a native implementation
128
- if (!details.__native) {
129
-
130
- // Add an arrow
131
- var twisty = document.createElement('i');
132
-
133
- // Check for the 'open' attribute
134
- // If open exists, but isn't supported it won't have a value
135
- if (details.getAttribute('open') === "") {
136
- details.__summary.setAttribute('aria-expanded', 'true');
137
- details.__content.setAttribute('aria-hidden', 'false');
138
- }
139
-
140
- // If open doesn't exist - it will be null or undefined
141
- if (details.getAttribute('open') == null || details.getAttribute('open') == "undefined" ) {
142
- details.__summary.setAttribute('aria-expanded', 'false');
143
- details.__content.setAttribute('aria-hidden', 'true');
120
+ if (!NATIVE_DETAILS) {
144
121
  details.__content.style.display = 'none';
145
122
  }
146
-
147
123
  }
148
124
 
149
125
  // Create a circular reference from the summary back to its
@@ -152,11 +128,11 @@
152
128
 
153
129
  // If this is not a native implementation, create an arrow
154
130
  // inside the summary
155
- if (!details.__native) {
131
+ if (!NATIVE_DETAILS) {
156
132
 
157
133
  var twisty = document.createElement('i');
158
134
 
159
- if (details.getAttribute('open') === "") {
135
+ if (openAttr === true) {
160
136
  twisty.className = 'arrow arrow-open';
161
137
  twisty.appendChild(document.createTextNode('\u25bc'));
162
138
  } else {
@@ -174,12 +150,22 @@
174
150
  // Also update the arrow position
175
151
  function statechange(summary) {
176
152
 
177
- var expanded = summary.__details.__summary.getAttribute('aria-expanded') == 'true';
178
- var hidden = summary.__details.__content.getAttribute('aria-hidden') == 'true';
153
+ var expanded = summary.__details.__summary.getAttribute('aria-expanded') === 'true';
154
+ var hidden = summary.__details.__content.getAttribute('aria-hidden') === 'true';
179
155
 
180
156
  summary.__details.__summary.setAttribute('aria-expanded', (expanded ? 'false' : 'true'));
181
157
  summary.__details.__content.setAttribute('aria-hidden', (hidden ? 'false' : 'true'));
182
- summary.__details.__content.style.display = (expanded ? 'none' : 'block');
158
+
159
+ if (!NATIVE_DETAILS) {
160
+ summary.__details.__content.style.display = (expanded ? 'none' : '');
161
+
162
+ var hasOpenAttr = summary.__details.getAttribute('open') !== null;
163
+ if (!hasOpenAttr) {
164
+ summary.__details.setAttribute('open', 'open');
165
+ } else {
166
+ summary.__details.removeAttribute('open');
167
+ }
168
+ }
183
169
 
184
170
  if (summary.__twisty) {
185
171
  summary.__twisty.firstChild.nodeValue = (expanded ? '\u25ba' : '\u25bc');
@@ -0,0 +1,54 @@
1
+ // GOV.UK front end toolkit
2
+ // Sass variables, mixins and functions
3
+ // https://github.com/alphagov/govuk_frontend_toolkit/tree/master/stylesheets
4
+
5
+ // Settings (variables)
6
+ @import "colours"; // Colour variables
7
+ @import "font_stack"; // Font family variables
8
+ @import "measurements"; // Widths and gutter variables
9
+
10
+ // Mixins
11
+ @import "conditionals"; // Media query mixin
12
+ @import "device-pixels"; // Retina image mixin
13
+ @import "grid_layout"; // Basic grid layout mixin
14
+ @import "typography"; // Core bold and heading mixins, also external links
15
+ @import "shims"; // Inline block mixin, clearfix placeholder
16
+
17
+ // Mixins to generate components (chunks of UI)
18
+ @import "design-patterns/alpha-beta";
19
+ @import "design-patterns/buttons";
20
+ @import "design-patterns/breadcrumbs";
21
+
22
+ // Functions
23
+ // @import "url-helpers"; // Function to output image-url, or prefixed path (Rails and Compass only)
24
+
25
+ // GOV.UK elements
26
+
27
+ @import "elements/helpers"; // Helper functions and classes
28
+
29
+ // Generic (normalize/reset.css)
30
+ @import "elements/reset";
31
+
32
+ // Base (unclassed HTML elements)
33
+ // These are predefined by govuk_template
34
+ // If you're not using govuk_template, uncomment the line below.
35
+ // @import "elements/base"; // HTML elements, set by the GOV.UK template
36
+
37
+ // Objects (unstyled design patterns)
38
+ @import "elements/layout"; // Main content container. Grid layout - rows and column widths
39
+
40
+ // Components (chunks of UI)
41
+ @import "elements/elements-typography"; // Typography
42
+ @import "elements/buttons"; // Buttons
43
+ @import "elements/icons"; // Icons - numbered steps, calendar, search
44
+ @import "elements/lists"; // Lists - numbered, bulleted
45
+ @import "elements/tables"; // Tables - regular, numeric
46
+ @import "elements/details"; // Details summary
47
+ @import "elements/panels"; // Panels with a left grey border
48
+ @import "elements/forms"; // Form - wrappers, inputs, labels
49
+ @import "elements/forms/form-block-labels"; // Chunky labels for radios and checkboxes
50
+ @import "elements/forms/form-date"; // Date of birth pattern
51
+ @import "elements/forms/form-validation"; // Errors and validation
52
+ @import "elements/breadcrumbs"; // Breadcrumbs
53
+ @import "elements/phase-banner"; // Alpha and beta banners and tags
54
+ @import "elements/components"; // GOV.UK prefixed styles - blue highlighted box