moj_internal_template 0.1.0

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 (47) hide show
  1. checksums.yaml +7 -0
  2. data/LICENCE.txt +24 -0
  3. data/README.md +39 -0
  4. data/app/assets/fonts/Bliss2Rg.eot +0 -0
  5. data/app/assets/fonts/Bliss2Rg.ttf +0 -0
  6. data/app/assets/fonts/Bliss2Rg.woff +0 -0
  7. data/app/assets/images/moj_logotype_crest.png +0 -0
  8. data/app/assets/javascripts/modules/moj.cookie-message.js +82 -0
  9. data/app/assets/javascripts/modules/moj.tabs.js +83 -0
  10. data/app/assets/javascripts/moj.js +54 -0
  11. data/app/assets/javascripts/vendor/jquery/jquery-1.11.0.min.js +4 -0
  12. data/app/assets/stylesheets/elements/_buttons.scss +56 -0
  13. data/app/assets/stylesheets/elements/_colours.scss +34 -0
  14. data/app/assets/stylesheets/elements/_forms.scss +171 -0
  15. data/app/assets/stylesheets/elements/_helpers.scss +51 -0
  16. data/app/assets/stylesheets/elements/_icons.scss +222 -0
  17. data/app/assets/stylesheets/elements/_layout.scss +151 -0
  18. data/app/assets/stylesheets/elements/_lists.scss +32 -0
  19. data/app/assets/stylesheets/elements/_panels.scss +30 -0
  20. data/app/assets/stylesheets/elements/_reset.scss +33 -0
  21. data/app/assets/stylesheets/elements/_shame.scss +79 -0
  22. data/app/assets/stylesheets/elements/_tables.scss +22 -0
  23. data/app/assets/stylesheets/elements/_typography.scss +150 -0
  24. data/app/assets/stylesheets/elements/forms/_form-chunky-labels.scss +62 -0
  25. data/app/assets/stylesheets/elements/forms/_form-date-of-birth.scss +45 -0
  26. data/app/assets/stylesheets/elements/forms/_form-validation.scss +64 -0
  27. data/app/assets/stylesheets/moj-internal-ie6.scss +5 -0
  28. data/app/assets/stylesheets/moj-internal-ie7.scss +4 -0
  29. data/app/assets/stylesheets/moj-internal-ie8.scss +4 -0
  30. data/app/assets/stylesheets/moj-internal.scss +56 -0
  31. data/app/assets/stylesheets/moj/_fonts.scss +12 -0
  32. data/app/assets/stylesheets/moj/_header.scss +126 -0
  33. data/app/assets/stylesheets/moj/_typography.scss +72 -0
  34. data/app/helpers/moj_helper.rb +5 -0
  35. data/app/views/layouts/moj_internal_template.html.erb +114 -0
  36. data/app/views/layouts/partials/_after_header.html.erb +14 -0
  37. data/app/views/layouts/partials/_body_classes.html.erb +1 -0
  38. data/app/views/layouts/partials/_body_end.html.erb +10 -0
  39. data/app/views/layouts/partials/_content.html.erb +11 -0
  40. data/app/views/layouts/partials/_cookie_message.html.erb +5 -0
  41. data/app/views/layouts/partials/_footer_support_links.html.erb +15 -0
  42. data/app/views/layouts/partials/_header_class.html.erb +1 -0
  43. data/app/views/layouts/partials/_page_title.html.erb +1 -0
  44. data/lib/moj_internal_template.rb +5 -0
  45. data/lib/moj_internal_template/engine.rb +11 -0
  46. data/lib/moj_internal_template/version.rb +3 -0
  47. metadata +173 -0
@@ -0,0 +1,5 @@
1
+ $is-ie: true;
2
+ $ie-version: 6;
3
+ $mobile-ie6: false;
4
+
5
+ @import "moj-internal";
@@ -0,0 +1,4 @@
1
+ $is-ie: true;
2
+ $ie-version: 7;
3
+
4
+ @import "moj-internal";
@@ -0,0 +1,4 @@
1
+ $is-ie: true;
2
+ $ie-version: 8;
3
+
4
+ @import "moj-internal";
@@ -0,0 +1,56 @@
1
+ @import "govuk-template";
2
+
3
+ // Import GOV.UK frontend toolkit
4
+
5
+ @import "colours";
6
+ @import "measurements";
7
+ @import "conditionals";
8
+ @import "shims";
9
+ @import "typography";
10
+ @import "css3";
11
+ @import "design-patterns/alpha-beta";
12
+ @import "design-patterns/buttons";
13
+
14
+ // Shame
15
+ // For changes awaiting merge into the front-end toolkit
16
+ @import "elements/shame";
17
+
18
+ // Helpers
19
+ @import "elements/helpers";
20
+
21
+ // Reset
22
+ @import "elements/reset";
23
+
24
+ // Layout
25
+ @import "elements/layout";
26
+
27
+ // Modules
28
+ // ==========================================================================
29
+
30
+ // Forms
31
+ @import "elements/forms";
32
+
33
+ // Tables
34
+ @import "elements/tables";
35
+
36
+ // Buttons
37
+ @import "elements/buttons";
38
+
39
+ // Lists
40
+ @import "elements/lists";
41
+
42
+ // Panels
43
+ @import "elements/panels";
44
+
45
+ // Colours
46
+ @import "elements/colours";
47
+
48
+ // Icons
49
+ @import "elements/icons";
50
+
51
+ // MoJ
52
+ // ==========================================================================
53
+
54
+ // Typography
55
+ @import "moj/typography";
56
+ @import "moj/header"
@@ -0,0 +1,12 @@
1
+ @font-face {
2
+ font-family: 'Bliss2';
3
+ src: url('/assets/Bliss2Rg.eot'); /* IE9 Compat Modes */
4
+ src: url('/assets/Bliss2Rg.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
+ url('/assets/Bliss2Rg.woff') format('woff'), /* Modern Browsers */
6
+ url('/assets/Bliss2Rg.ttf') format('truetype'), /* Safari, Android, iOS */
7
+ url('/assets/Bliss2Rg.svg#svgBliss2Rg') format('svg'); /* Legacy iOS */
8
+ }
9
+
10
+ body {
11
+ font-family: 'Bliss2', arial, sans-serif;
12
+ }
@@ -0,0 +1,126 @@
1
+ @import '_shims';
2
+ @import '_conditionals';
3
+ @import '_measurements';
4
+
5
+ $header-background-color: #f7f7ed;
6
+ $header-foreground-color: $black;
7
+
8
+ #global-header {
9
+ background-color: $header-background-color;
10
+ width: 100%;
11
+
12
+ .header-wrapper {
13
+ background-color: $header-background-color;
14
+ max-width: 990px;
15
+ margin: 0 auto;
16
+ padding-top: 8px;
17
+ padding-bottom: 8px;
18
+ @extend %contain-floats;
19
+ @include media(tablet){
20
+ padding-left: $gutter-half;
21
+ padding-right: $gutter-half;
22
+ }
23
+ @include ie-lte(8) {
24
+ width: 990px;
25
+ }
26
+
27
+ .header-global {
28
+ @extend %contain-floats;
29
+ .header-logo {
30
+ @extend %contain-floats;
31
+ float: left;
32
+
33
+ @include media(desktop){
34
+ width: 33.33%;
35
+ }
36
+ @media screen and (max-width: 379px) {
37
+ width: auto;
38
+ float: none;
39
+ }
40
+
41
+ .content {
42
+ margin: 0 15px;
43
+ }
44
+ }
45
+ .header-logo {
46
+ margin: 5px 0 2px;
47
+ }
48
+ }
49
+ }
50
+
51
+ #logo {
52
+ float: left;
53
+ position: relative;
54
+ top: 1px;
55
+
56
+ height: 30px;
57
+ overflow: visible;
58
+ vertical-align: baseline;
59
+
60
+ color: $header-foreground-color;
61
+ font-weight: bold;
62
+ font-size: 30px;
63
+ line-height: 1em;
64
+ text-decoration: none;
65
+ text-rendering: optimizeLegibility;
66
+ margin-bottom: -1px;
67
+ padding-bottom: 1px;
68
+
69
+ img {
70
+ position: relative;
71
+ top: -2px;
72
+
73
+ width: 35px;
74
+ height: 31px;
75
+
76
+ padding-right: 6px;
77
+
78
+ float: left;
79
+ display: inline;
80
+ line-height: inherit;
81
+ border: none;
82
+ }
83
+
84
+ &:hover,
85
+ &:focus {
86
+ text-decoration: none;
87
+ border-bottom: 1px solid;
88
+ padding-bottom: 0;
89
+ }
90
+
91
+ &:active {
92
+ color: $light-blue;
93
+ }
94
+ }
95
+
96
+ #log-in-out {
97
+ font-size: 16px;
98
+ float: right;
99
+ margin-top: 15px;
100
+ margin-right: 15px;
101
+
102
+ a {
103
+ color: inherit;
104
+ text-decoration: none;
105
+ }
106
+ a:hover {
107
+ text-decoration: underline;
108
+ }
109
+ }
110
+ }
111
+
112
+ /* Global header bar */
113
+
114
+ #global-header-bar {
115
+ @include outer-block;
116
+ .inner-block {
117
+ @include inner-block;
118
+ }
119
+ .header-bar {
120
+ height: 10px;
121
+ background-color: $header-foreground-color;
122
+ @include ie-lte(8) {
123
+ font-size: 0;
124
+ }
125
+ }
126
+ }
@@ -0,0 +1,72 @@
1
+ // Typography
2
+ // ==========================================================================
3
+
4
+ // Increase the base font size to 19px
5
+ // Using the core-19 mixin from the govuk_toolkit _typography.scss file
6
+
7
+ @import "fonts";
8
+
9
+ body {
10
+ @include core-19;
11
+ font-family: "Bliss2", Arial, sans-serif;
12
+ }
13
+
14
+ // Text
15
+ p {
16
+ margin-top: em(5, 16 );
17
+ margin-bottom: em(20, 16);
18
+
19
+ @include media(tablet) {
20
+ margin-top: em(5);
21
+ margin-bottom: em(20);
22
+ }
23
+
24
+ }
25
+
26
+ // Lede, or intro text
27
+ .lede {
28
+ @include core-24;
29
+ font-family: inherit;
30
+ }
31
+
32
+ // Set a max-width for text blocks
33
+ // Less than 75 characters per line of text
34
+ .text {
35
+ max-width: 30em;
36
+ }
37
+
38
+
39
+ // Code styles
40
+ pre,
41
+ code {
42
+ font-size: 13px;
43
+ line-height: 19px;
44
+ color: $black;
45
+ background-color: $highlight-colour;
46
+ border: 1px solid $border-colour;
47
+ padding: 3px 7px;
48
+ }
49
+
50
+
51
+ h1 {
52
+ @include heading-48();
53
+ @include bold-48();
54
+ font-family: inherit;
55
+ }
56
+
57
+ h2 {
58
+ @include heading-36();
59
+ @include bold-36();
60
+ font-family: inherit;
61
+ }
62
+
63
+ h3 {
64
+ @include heading-24;
65
+ @include bold-24();
66
+ font-family: inherit;
67
+ }
68
+
69
+ h4 {
70
+ @include bold-19();
71
+ font-family: inherit;
72
+ }
@@ -0,0 +1,5 @@
1
+ module MojHelper
2
+ def config_item(key)
3
+ Rails.configuration.send(key)
4
+ end
5
+ end
@@ -0,0 +1,114 @@
1
+ <%= yield :top_of_page %>
2
+ <!DOCTYPE html>
3
+ <!--[if lt IE 9]><html class="lte-ie8" lang="<%= content_for?(:html_lang) ? yield(:html_lang) : "en" %>"><![endif]-->
4
+ <!--[if gt IE 8]><!--><html lang="<%= content_for?(:html_lang) ? yield(:html_lang) : "en" %>"><!--<![endif]-->
5
+ <head>
6
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
7
+
8
+ <title><%= content_for?(:page_title) ? yield(:page_title) : "Ministry of Justice" %></title>
9
+
10
+ <script type="text/javascript">
11
+ (function(){if(navigator.userAgent.match(/IEMobile\/10\.0/)){var d=document,c="appendChild",a=d.createElement("style");a[c](d.createTextNode("@-ms-viewport{width:auto!important}"));d.getElementsByTagName("head")[0][c](a);}})();
12
+ </script>
13
+
14
+ <!--[if gt IE 8]><!--><link href="<%= asset_path "moj-internal.css" %>" media="screen" rel="stylesheet" type="text/css" /><!--<![endif]-->
15
+ <!--[if IE 6]><link href="<%= asset_path "moj-internal-ie6.css" %>" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
16
+ <!--[if IE 7]><link href="<%= asset_path "moj-internal-ie7.css" %>" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
17
+ <!--[if IE 8]><link href="<%= asset_path "moj-internal-ie8.css" %>" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
18
+
19
+ <!--[if lt IE 9]>
20
+ <script src="<%= asset_path "ie.js" %>" type="text/javascript"></script>
21
+ <![endif]-->
22
+
23
+ <link rel="shortcut icon" href="<%= asset_path 'favicon.ico' %>" type="image/x-icon" />
24
+
25
+ <!-- For third-generation iPad with high-resolution Retina display: -->
26
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="<%= asset_path "apple-touch-icon-144x144.png" %>">
27
+ <!-- For iPhone with high-resolution Retina display: -->
28
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="<%= asset_path "apple-touch-icon-114x114.png" %>">
29
+ <!-- For first- and second-generation iPad: -->
30
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="<%= asset_path "apple-touch-icon-72x72.png" %>">
31
+ <!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
32
+ <link rel="apple-touch-icon-precomposed" href="<%= asset_path "apple-touch-icon-57x57.png" %>">
33
+
34
+ <meta name="viewport" content="width=device-width, initial-scale=1">
35
+ <meta property="og:image" content="<%= asset_path "opengraph-image.png" %>">
36
+
37
+ <%= yield :head %>
38
+ </head>
39
+
40
+ <body<%= content_for?(:body_classes) ? raw(" class=\"#{yield(:body_classes)}\"") : '' %>>
41
+ <script type="text/javascript">document.body.className = 'js-enabled ' + document.body.className;</script>
42
+
43
+ <div id="skiplink-container">
44
+ <div>
45
+ <a href="#content" class="skiplink">Skip to main content</a>
46
+ </div>
47
+ </div>
48
+
49
+ <div id="global-cookie-message">
50
+ <div class="outer-block">
51
+ <div class="inner-block">
52
+ <% if content_for?(:cookie_message) %>
53
+ <%= yield :cookie_message %>
54
+ <% else %>
55
+ <p>GOV.UK uses cookies to make the site simpler. <a href="https://www.gov.uk/help/cookies">Find out more about cookies</a></p>
56
+ <% end %>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <!--end global-cookie-message-->
61
+
62
+ <% unless @omit_header %>
63
+ <header role="banner" id="global-header" class="<%= yield(:header_class) %>">
64
+ <div class="header-wrapper">
65
+ <div class="header-global">
66
+ <div class="header-logo">
67
+ <a href="https://www.gov.uk/" title="Go to the GOV.UK homepage" id="logo" class="content">
68
+ <img src="<%= asset_path 'moj_logotype_crest.png' %>" width="61" height="50" alt="">
69
+ <%= content_for?(:app_name) ? yield(:app_name) : "Ministry of Justice" %>
70
+ </a>
71
+ </div>
72
+ <div id="log-in-out">
73
+ <%= yield :log_in_out %>
74
+ </div>
75
+ <%= yield :inside_header %>
76
+ </div>
77
+ </div>
78
+ </header>
79
+ <!--end header-->
80
+ <% end %>
81
+
82
+ <%= yield :after_header %>
83
+
84
+ <div id="global-header-bar">
85
+ <div class="inner-block">
86
+ <div class="header-bar"></div>
87
+ </div>
88
+ </div>
89
+ <!--end global-header-bar-->
90
+
91
+ <%= content_for?(:content) ? yield(:content) : yield %>
92
+
93
+ <footer class="group js-footer" id="footer" role="contentinfo">
94
+
95
+ <div class="footer-wrapper">
96
+ <%= yield :footer_top %>
97
+
98
+ <div class="footer-meta">
99
+ <div class="footer-meta-inner">
100
+ <%= yield :footer_support_links %>
101
+ </div>
102
+ </div>
103
+ </div>
104
+ </footer>
105
+
106
+ <!--end footer-->
107
+
108
+ <div id="global-app-error" class="app-error hidden"></div>
109
+
110
+ <script src="<%= asset_path "moj.js" %>" type="text/javascript"></script>
111
+
112
+ <%= yield :body_end %>
113
+ </body>
114
+ </html>
@@ -0,0 +1,14 @@
1
+ <div class="indicator cf">
2
+ <p>
3
+ <strong><%= config_item(:phase).to_s.capitalize %>:</strong>
4
+ This is a new service -
5
+ <% if content_for?(:feedback_link) %>
6
+ <%= yield(:feedback_link) %>
7
+ <% else %>
8
+ <a href="<%= "#{config_item(:feedback_url)}" %>">your feedback</a>
9
+ <% end %>
10
+ will help us to improve it
11
+ </p>
12
+ </div>
13
+
14
+ <%= yield :after_header %>
@@ -0,0 +1 @@
1
+ <%= content_for?(:body_classes) ? raw("#{yield(:body_classes)}") : "#{config_item(:phase).to_s.downcase} #{config_item(:product_type).to_s.downcase}" %>
@@ -0,0 +1,10 @@
1
+ <!--[if gt IE 6]><!-->
2
+ <script src="<%= asset_path "vendor/jquery/jquery-1.11.0.min.js" %>" type="text/javascript"></script>
3
+ <script src="<%= asset_path "moj.js" %>" type="text/javascript"></script>
4
+
5
+ <%= yield :javascripts %>
6
+
7
+ <script type="text/javascript">$(moj.init);</script>
8
+ <!--<![endif]-->
9
+
10
+ <%= yield :body_end %>
@@ -0,0 +1,11 @@
1
+ <% if content_for?(:content_override) %>
2
+ <%= yield(:content_override) %>
3
+ <% else %>
4
+ <%= yield :before_content %>
5
+
6
+ <div id="wrapper" class="group">
7
+ <section id="content" role="main">
8
+ <%= content_for?(:content) ? yield(:content) : yield %>
9
+ </section>
10
+ </div>
11
+ <% end %>