idsk_frontend_toolkit 7.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/.gitmodules +3 -0
- data/.ruby-version +1 -0
- data/.travis/govuk_frontend_toolkit_gem_push.enc +0 -0
- data/.travis/govuk_frontend_toolkit_gem_push.pub +1 -0
- data/.travis.yml +23 -0
- data/CONTRIBUTING.md +13 -0
- data/Gemfile +3 -0
- data/LICENCE +20 -0
- data/README.md +61 -0
- data/Rakefile +10 -0
- data/app/assets/.gitignore +5 -0
- data/app/assets/.ruby-version +1 -0
- data/app/assets/.travis/README.md +23 -0
- data/app/assets/.travis/govuk_frontend_toolkit_push.enc +0 -0
- data/app/assets/.travis/govuk_frontend_toolkit_push.pub +1 -0
- data/app/assets/.travis.yml +18 -0
- data/app/assets/CHANGELOG.md +381 -0
- data/app/assets/CONTRIBUTING.md +23 -0
- data/app/assets/Gemfile +4 -0
- data/app/assets/Gemfile.lock +48 -0
- data/app/assets/Gruntfile.js +68 -0
- data/app/assets/LICENCE +20 -0
- data/app/assets/README.md +170 -0
- data/app/assets/VERSION.txt +1 -0
- data/app/assets/create-release.sh +38 -0
- data/app/assets/docs/analytics.md +270 -0
- data/app/assets/docs/functions.md +62 -0
- data/app/assets/docs/javascript.md +337 -0
- data/app/assets/docs/mixins.md +617 -0
- data/app/assets/images/accordion-arrow-2x.png +0 -0
- data/app/assets/images/accordion-arrow.png +0 -0
- data/app/assets/images/arrow-sprite.png +0 -0
- data/app/assets/images/crests/bis_crest_13px.png +0 -0
- data/app/assets/images/crests/bis_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/bis_crest_18px.png +0 -0
- data/app/assets/images/crests/bis_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/bis_crest_27px.png +0 -0
- data/app/assets/images/crests/bis_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/coastguard_13px.png +0 -0
- data/app/assets/images/crests/coastguard_13px_x2.png +0 -0
- data/app/assets/images/crests/coastguard_18px.png +0 -0
- data/app/assets/images/crests/coastguard_18px_x2.png +0 -0
- data/app/assets/images/crests/coastguard_27px.png +0 -0
- data/app/assets/images/crests/coastguard_27px_x2.png +0 -0
- data/app/assets/images/crests/dit_crest_13px.png +0 -0
- data/app/assets/images/crests/dit_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/dit_crest_18px.png +0 -0
- data/app/assets/images/crests/dit_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/dit_crest_27px.png +0 -0
- data/app/assets/images/crests/dit_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/hmrc_crest_13px.png +0 -0
- data/app/assets/images/crests/hmrc_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/hmrc_crest_18px.png +0 -0
- data/app/assets/images/crests/hmrc_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/hmrc_crest_27px.png +0 -0
- data/app/assets/images/crests/hmrc_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/ho_crest_13px.png +0 -0
- data/app/assets/images/crests/ho_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/ho_crest_18px.png +0 -0
- data/app/assets/images/crests/ho_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/ho_crest_27px.png +0 -0
- data/app/assets/images/crests/ho_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/mod_crest_13px.png +0 -0
- data/app/assets/images/crests/mod_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/mod_crest_18px.png +0 -0
- data/app/assets/images/crests/mod_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/mod_crest_27px.png +0 -0
- data/app/assets/images/crests/mod_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/org_crest_13px.png +0 -0
- data/app/assets/images/crests/org_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/org_crest_18px.png +0 -0
- data/app/assets/images/crests/org_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/org_crest_27px.png +0 -0
- data/app/assets/images/crests/org_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/portcullis_13px.png +0 -0
- data/app/assets/images/crests/portcullis_13px_x2.png +0 -0
- data/app/assets/images/crests/portcullis_18px.png +0 -0
- data/app/assets/images/crests/portcullis_18px_x2.png +0 -0
- data/app/assets/images/crests/portcullis_27px.png +0 -0
- data/app/assets/images/crests/portcullis_27px_x2.png +0 -0
- data/app/assets/images/crests/so_crest_13px.png +0 -0
- data/app/assets/images/crests/so_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/so_crest_18px.png +0 -0
- data/app/assets/images/crests/so_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/so_crest_27px.png +0 -0
- data/app/assets/images/crests/so_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/ukaea_crest_13px.png +0 -0
- data/app/assets/images/crests/ukaea_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/ukaea_crest_18px.png +0 -0
- data/app/assets/images/crests/ukaea_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/ukaea_crest_27px.png +0 -0
- data/app/assets/images/crests/ukaea_crest_27px_x2.png +0 -0
- data/app/assets/images/crests/ukho_13px.png +0 -0
- data/app/assets/images/crests/ukho_13px_x2.png +0 -0
- data/app/assets/images/crests/ukho_18px.png +0 -0
- data/app/assets/images/crests/ukho_18px_x2.png +0 -0
- data/app/assets/images/crests/ukho_27px.png +0 -0
- data/app/assets/images/crests/ukho_27px_x2.png +0 -0
- data/app/assets/images/crests/wales_crest_13px.png +0 -0
- data/app/assets/images/crests/wales_crest_13px_x2.png +0 -0
- data/app/assets/images/crests/wales_crest_18px.png +0 -0
- data/app/assets/images/crests/wales_crest_18px_x2.png +0 -0
- data/app/assets/images/crests/wales_crest_27px.png +0 -0
- data/app/assets/images/crests/wales_crest_27px_x2.png +0 -0
- data/app/assets/images/icon-arrow-left.png +0 -0
- data/app/assets/images/icon-calendar-2x.png +0 -0
- data/app/assets/images/icon-calendar.png +0 -0
- data/app/assets/images/icon-file-download-2x.png +0 -0
- data/app/assets/images/icon-file-download.png +0 -0
- data/app/assets/images/icon-important-2x.png +0 -0
- data/app/assets/images/icon-important.png +0 -0
- data/app/assets/images/icon-information-2x.png +0 -0
- data/app/assets/images/icon-information.png +0 -0
- data/app/assets/images/icon-locator-2x.png +0 -0
- data/app/assets/images/icon-locator.png +0 -0
- data/app/assets/images/icon-pointer-2x.png +0 -0
- data/app/assets/images/icon-pointer-black-2x.png +0 -0
- data/app/assets/images/icon-pointer-black.png +0 -0
- data/app/assets/images/icon-pointer-indexed.png +0 -0
- data/app/assets/images/icon-pointer.png +0 -0
- data/app/assets/images/icon-search-2x.png +0 -0
- data/app/assets/images/icon-search.png +0 -0
- data/app/assets/images/icon-steps/icon-step-1-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-1.png +0 -0
- data/app/assets/images/icon-steps/icon-step-10-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-10.png +0 -0
- data/app/assets/images/icon-steps/icon-step-11-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-11.png +0 -0
- data/app/assets/images/icon-steps/icon-step-12-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-12.png +0 -0
- data/app/assets/images/icon-steps/icon-step-13-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-13.png +0 -0
- data/app/assets/images/icon-steps/icon-step-14-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-14.png +0 -0
- data/app/assets/images/icon-steps/icon-step-2-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-2.png +0 -0
- data/app/assets/images/icon-steps/icon-step-3-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-3.png +0 -0
- data/app/assets/images/icon-steps/icon-step-4-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-4.png +0 -0
- data/app/assets/images/icon-steps/icon-step-5-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-5.png +0 -0
- data/app/assets/images/icon-steps/icon-step-6-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-6.png +0 -0
- data/app/assets/images/icon-steps/icon-step-7-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-7.png +0 -0
- data/app/assets/images/icon-steps/icon-step-8-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-8.png +0 -0
- data/app/assets/images/icon-steps/icon-step-9-2x.png +0 -0
- data/app/assets/images/icon-steps/icon-step-9.png +0 -0
- data/app/assets/images/player-icon-forward.png +0 -0
- data/app/assets/images/player-icon-pause.png +0 -0
- data/app/assets/images/player-icon-play.png +0 -0
- data/app/assets/images/player-icon-rewind.png +0 -0
- data/app/assets/images/player-icon-volume.png +0 -0
- data/app/assets/images/separator-2x.png +0 -0
- data/app/assets/images/separator.png +0 -0
- data/app/assets/javascripts/govuk/analytics/analytics.js +143 -0
- data/app/assets/javascripts/govuk/analytics/download-link-tracker.js +41 -0
- data/app/assets/javascripts/govuk/analytics/error-tracking.js +51 -0
- data/app/assets/javascripts/govuk/analytics/external-link-tracker.js +56 -0
- data/app/assets/javascripts/govuk/analytics/google-analytics-universal-tracker.js +166 -0
- data/app/assets/javascripts/govuk/analytics/govuk-tracker.js +134 -0
- data/app/assets/javascripts/govuk/analytics/mailto-link-tracker.js +38 -0
- data/app/assets/javascripts/govuk/analytics/print-intent.js +39 -0
- data/app/assets/javascripts/govuk/details.polyfill.js +240 -0
- data/app/assets/javascripts/govuk/modules/auto-track-event.js +30 -0
- data/app/assets/javascripts/govuk/modules.js +61 -0
- data/app/assets/javascripts/govuk/primary-links.js +57 -0
- data/app/assets/javascripts/govuk/selection-buttons.js +116 -0
- data/app/assets/javascripts/govuk/shim-links-with-button-role.js +34 -0
- data/app/assets/javascripts/govuk/show-hide-content.js +172 -0
- data/app/assets/javascripts/govuk/stick-at-top-when-scrolling.js +128 -0
- data/app/assets/javascripts/govuk/stop-scrolling-at-footer.js +139 -0
- data/app/assets/javascripts/govuk_toolkit.js +1 -0
- data/app/assets/javascripts/stageprompt.js +69 -0
- data/app/assets/javascripts/vendor/jquery/jquery.player.min.js +25 -0
- data/app/assets/javascripts/vendor/polyfills/bind.js +40 -0
- data/app/assets/package.json +25 -0
- data/app/assets/spec/manifest.js +41 -0
- data/app/assets/spec/stylesheets/_colour_contrast_spec.scss +12 -0
- data/app/assets/spec/support/LocalTestRunner.html +21 -0
- data/app/assets/spec/support/console-runner.js +102 -0
- data/app/assets/spec/support/load.js +47 -0
- data/app/assets/spec/support/run_jasmine_test.js +62 -0
- data/app/assets/spec/unit/analytics/analytics.spec.js +315 -0
- data/app/assets/spec/unit/analytics/download-link-tracker.spec.js +72 -0
- data/app/assets/spec/unit/analytics/error-tracking.spec.js +65 -0
- data/app/assets/spec/unit/analytics/external-link-tracker.spec.js +109 -0
- data/app/assets/spec/unit/analytics/google-analytics-universal-tracker.spec.js +180 -0
- data/app/assets/spec/unit/analytics/govuk-tracker.spec.js +171 -0
- data/app/assets/spec/unit/analytics/mailto-link-tracker.spec.js +62 -0
- data/app/assets/spec/unit/details.polyfill.spec.js +91 -0
- data/app/assets/spec/unit/modules/auto-track-event.spec.js +54 -0
- data/app/assets/spec/unit/modules.spec.js +93 -0
- data/app/assets/spec/unit/primary-links.spec.js +55 -0
- data/app/assets/spec/unit/selection-button.spec.js +761 -0
- data/app/assets/spec/unit/shim-links-with-button-role.spec.js +41 -0
- data/app/assets/spec/unit/show-hide-content.spec.js +306 -0
- data/app/assets/spec/unit/stick-at-top-when-scrolling.spec.js +137 -0
- data/app/assets/stylesheets/.gitkeep +0 -0
- data/app/assets/stylesheets/_colours.scss +2 -0
- data/app/assets/stylesheets/_conditionals.scss +81 -0
- data/app/assets/stylesheets/_css3.scss +90 -0
- data/app/assets/stylesheets/_device-pixels.scss +10 -0
- data/app/assets/stylesheets/_font_stack.scss +25 -0
- data/app/assets/stylesheets/_grid_layout.scss +136 -0
- data/app/assets/stylesheets/_helpers.scss +16 -0
- data/app/assets/stylesheets/_measurements.scss +14 -0
- data/app/assets/stylesheets/_shims.scss +55 -0
- data/app/assets/stylesheets/_typography.scss +249 -0
- data/app/assets/stylesheets/_url-helpers.scss +16 -0
- data/app/assets/stylesheets/colours/_organisation.scss +104 -0
- data/app/assets/stylesheets/colours/_palette.scss +77 -0
- data/app/assets/stylesheets/design-patterns/_alpha-beta.scss +67 -0
- data/app/assets/stylesheets/design-patterns/_breadcrumbs.scss +53 -0
- data/app/assets/stylesheets/design-patterns/_buttons.scss +145 -0
- data/app/assets/stylesheets/design-patterns/_media-player.scss +264 -0
- data/app/assets/trigger.sh +24 -0
- data/idsk_frontend_toolkit.gemspec +49 -0
- data/lib/idsk_frontend_toolkit/engine.rb +4 -0
- data/lib/idsk_frontend_toolkit/version.rb +5 -0
- data/lib/idsk_frontend_toolkit.rb +4 -0
- data/publish.sh +30 -0
- metadata +314 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
@import "../colours";
|
2
|
+
@import "../typography";
|
3
|
+
@import "../shims";
|
4
|
+
@import "../grid_layout";
|
5
|
+
|
6
|
+
// Phase banner usage:
|
7
|
+
//
|
8
|
+
// .phase-banner {
|
9
|
+
// @include phase-banner();
|
10
|
+
// }
|
11
|
+
|
12
|
+
@mixin phase-banner($state: '') {
|
13
|
+
|
14
|
+
@if $state != '' {
|
15
|
+
@warn 'Passing a phase to the alpha/beta banners is deprecated';
|
16
|
+
}
|
17
|
+
|
18
|
+
padding: 10px 0 8px;
|
19
|
+
|
20
|
+
@include media(tablet) {
|
21
|
+
padding-bottom: 10px;
|
22
|
+
}
|
23
|
+
|
24
|
+
border-bottom: 1px solid $border-colour;
|
25
|
+
|
26
|
+
p {
|
27
|
+
display: table;
|
28
|
+
margin: 0;
|
29
|
+
color: $banner-text-colour;
|
30
|
+
@include core-16;
|
31
|
+
}
|
32
|
+
|
33
|
+
.phase-tag {
|
34
|
+
@include phase-tag();
|
35
|
+
}
|
36
|
+
|
37
|
+
span {
|
38
|
+
display: table-cell;
|
39
|
+
vertical-align: baseline;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
// Phase tag usage:
|
44
|
+
//
|
45
|
+
// Alpha or beta
|
46
|
+
// .phase-tag {
|
47
|
+
// @include phase-tag;
|
48
|
+
// }
|
49
|
+
|
50
|
+
@mixin phase-tag($state: '') {
|
51
|
+
|
52
|
+
@if $state != '' {
|
53
|
+
@warn 'Passing a phase to the phase-tag mixin is deprecated';
|
54
|
+
}
|
55
|
+
|
56
|
+
@include inline-block;
|
57
|
+
margin: 0 8px 0 0;
|
58
|
+
padding: 2px 5px 0;
|
59
|
+
|
60
|
+
@include bold-16($line-height: 20 / 16);
|
61
|
+
text-transform: uppercase;
|
62
|
+
letter-spacing: 1px;
|
63
|
+
text-decoration: none;
|
64
|
+
|
65
|
+
color: $white;
|
66
|
+
background-color: $govuk-blue;
|
67
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
@import "../colours";
|
2
|
+
@import "../typography";
|
3
|
+
@import "../shims";
|
4
|
+
@import "../url-helpers";
|
5
|
+
|
6
|
+
// Breadcrumbs usage:
|
7
|
+
//
|
8
|
+
// .breadcrumbs {
|
9
|
+
// @include breadcrumbs;
|
10
|
+
// }
|
11
|
+
|
12
|
+
@mixin breadcrumbs {
|
13
|
+
|
14
|
+
padding-top: 0.75em;
|
15
|
+
padding-bottom: 0.75em;
|
16
|
+
|
17
|
+
ol {
|
18
|
+
@extend %contain-floats;
|
19
|
+
}
|
20
|
+
|
21
|
+
li {
|
22
|
+
@include core-16;
|
23
|
+
float: left;
|
24
|
+
|
25
|
+
background-image: file-url("separator.png");
|
26
|
+
|
27
|
+
@include device-pixel-ratio() {
|
28
|
+
background-image: file-url("separator-2x.png");
|
29
|
+
background-size: 6px 11px;
|
30
|
+
}
|
31
|
+
|
32
|
+
background-position: 0% 50%;
|
33
|
+
background-repeat: no-repeat;
|
34
|
+
|
35
|
+
list-style: none;
|
36
|
+
|
37
|
+
margin-left: 0.6em;
|
38
|
+
margin-bottom: 0.4em;
|
39
|
+
padding-left: 0.9em;
|
40
|
+
|
41
|
+
&:first-child {
|
42
|
+
background-image: none;
|
43
|
+
margin-left: 0;
|
44
|
+
padding-left: 0;
|
45
|
+
}
|
46
|
+
|
47
|
+
}
|
48
|
+
|
49
|
+
a {
|
50
|
+
color: $text-colour;
|
51
|
+
}
|
52
|
+
|
53
|
+
}
|
@@ -0,0 +1,145 @@
|
|
1
|
+
@import '../shims';
|
2
|
+
@import '../css3';
|
3
|
+
@import '../conditionals';
|
4
|
+
@import '../colours';
|
5
|
+
|
6
|
+
// Mixin and defaults for making buttons on GOV.UK services.
|
7
|
+
|
8
|
+
// For guidance, see: https://www.gov.uk/service-manual/design-and-content/resources/buttons.html
|
9
|
+
|
10
|
+
// Example usage:
|
11
|
+
|
12
|
+
// .button{
|
13
|
+
// @include button;
|
14
|
+
// }
|
15
|
+
// .button-secondary{
|
16
|
+
// @include button($grey-3);
|
17
|
+
// }
|
18
|
+
// .button-warning{
|
19
|
+
// @include button($red);
|
20
|
+
// }
|
21
|
+
|
22
|
+
|
23
|
+
@mixin button($colour: $button-colour) {
|
24
|
+
// Colour
|
25
|
+
background-color: $colour;
|
26
|
+
|
27
|
+
// Size and shape
|
28
|
+
position: relative;
|
29
|
+
@include inline-block;
|
30
|
+
padding: .526315em .789473em .263157em; // 10px 15px 5px
|
31
|
+
border: none;
|
32
|
+
@include border-radius(0);
|
33
|
+
outline: 1px solid transparent; // keep some button appearance when changing colour settings in browsers
|
34
|
+
outline-offset: -1px; // fixes bug in Safari that outline width on focus is not overwritten, is reset to 0 on focus in govuk_template
|
35
|
+
-webkit-appearance: none;
|
36
|
+
|
37
|
+
// Bottom edge effect
|
38
|
+
@include box-shadow(0 2px 0 darken($colour, 15%));
|
39
|
+
@include ie-lte(8) {
|
40
|
+
border-bottom: 2px solid darken($colour, 15%);
|
41
|
+
}
|
42
|
+
|
43
|
+
// Text
|
44
|
+
font-size: 1em; // inherit from parent
|
45
|
+
line-height: 1.25;
|
46
|
+
text-decoration: none;
|
47
|
+
-webkit-font-smoothing: antialiased;
|
48
|
+
|
49
|
+
// Interaction
|
50
|
+
cursor: pointer;
|
51
|
+
|
52
|
+
&:visited {
|
53
|
+
background-color: $colour;
|
54
|
+
}
|
55
|
+
|
56
|
+
&:hover,
|
57
|
+
&:focus {
|
58
|
+
background-color: darken($colour, 5%);
|
59
|
+
}
|
60
|
+
|
61
|
+
&:active {
|
62
|
+
top: 2px;
|
63
|
+
@include box-shadow(0 0 0 $colour);
|
64
|
+
}
|
65
|
+
|
66
|
+
// Disabled button styles
|
67
|
+
&.disabled,
|
68
|
+
&[disabled="disabled"],
|
69
|
+
&[disabled] {
|
70
|
+
@include opacity(0.5);
|
71
|
+
&:hover {
|
72
|
+
cursor: default;
|
73
|
+
background-color: $colour;
|
74
|
+
}
|
75
|
+
|
76
|
+
&:active {
|
77
|
+
top: 0;
|
78
|
+
@include box-shadow(0 2px 0 darken($colour, 15%));
|
79
|
+
@include ie-lte(8) {
|
80
|
+
border-bottom: 2px solid darken($colour, 15%);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
// Set text colour depending on background colour
|
86
|
+
@if lightness($colour) < 50% {
|
87
|
+
color: $white;
|
88
|
+
|
89
|
+
&:link,
|
90
|
+
&:link:focus,
|
91
|
+
&:hover,
|
92
|
+
&:focus,
|
93
|
+
&:visited {
|
94
|
+
color: $white;
|
95
|
+
}
|
96
|
+
} @else {
|
97
|
+
color: $text-colour;
|
98
|
+
|
99
|
+
&:link,
|
100
|
+
&:link:focus,
|
101
|
+
&:hover,
|
102
|
+
&:focus,
|
103
|
+
&:visited {
|
104
|
+
color: $text-colour;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
// making the click target bigger than the button
|
109
|
+
// (and fill the space made when the button moves)
|
110
|
+
&:before {
|
111
|
+
content: "";
|
112
|
+
height: 110%;
|
113
|
+
width: 100%;
|
114
|
+
display: block;
|
115
|
+
background: transparent;
|
116
|
+
position: absolute;
|
117
|
+
top: 0;
|
118
|
+
left: 0;
|
119
|
+
}
|
120
|
+
|
121
|
+
&:active:before {
|
122
|
+
top: -10%;
|
123
|
+
height: 120%;
|
124
|
+
|
125
|
+
// IE6 ignores the :before psuedo-class but applies the block to :active
|
126
|
+
// It therefore needs to be reset
|
127
|
+
@include ie(6) {
|
128
|
+
top: auto;
|
129
|
+
height: 100%;
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
// Fixes a bug where IE puts a black border around certain elements
|
134
|
+
@include ie-lte(8) {
|
135
|
+
&[type="submit"],
|
136
|
+
&[type="reset"],
|
137
|
+
&[type="button"] {
|
138
|
+
filter: chroma(color = $black);
|
139
|
+
}
|
140
|
+
|
141
|
+
&[type=submit].button {
|
142
|
+
filter: none;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
}
|
@@ -0,0 +1,264 @@
|
|
1
|
+
@import '../colours';
|
2
|
+
@import '../url-helpers';
|
3
|
+
|
4
|
+
// Player overrides
|
5
|
+
|
6
|
+
@mixin media-player {
|
7
|
+
display: block;
|
8
|
+
overflow: hidden;
|
9
|
+
margin: 30px 0;
|
10
|
+
|
11
|
+
&.player-wide {
|
12
|
+
min-width: 580px;
|
13
|
+
}
|
14
|
+
|
15
|
+
span {
|
16
|
+
display: block;
|
17
|
+
margin: 0;
|
18
|
+
padding: 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
.video {
|
22
|
+
position: relative;
|
23
|
+
z-index: 3000;
|
24
|
+
|
25
|
+
iframe {
|
26
|
+
display: block;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
.logo {
|
31
|
+
display: none;
|
32
|
+
}
|
33
|
+
|
34
|
+
.control-bar {
|
35
|
+
position: relative;
|
36
|
+
width: 100%;
|
37
|
+
height: 60px;
|
38
|
+
border-bottom: 1px solid $border-colour;
|
39
|
+
|
40
|
+
button {
|
41
|
+
background: transparent;
|
42
|
+
border: none;
|
43
|
+
padding: 0;
|
44
|
+
cursor: pointer;
|
45
|
+
}
|
46
|
+
|
47
|
+
a,
|
48
|
+
button {
|
49
|
+
&:focus {
|
50
|
+
background-color: $focus-colour;
|
51
|
+
outline: none;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
.player-controls {
|
56
|
+
.play,
|
57
|
+
.pause {
|
58
|
+
position: absolute;
|
59
|
+
bottom: 0;
|
60
|
+
left: 0;
|
61
|
+
width: 40px;
|
62
|
+
height: 40px;
|
63
|
+
overflow: hidden;
|
64
|
+
text-indent: -5000%;
|
65
|
+
background-repeat: no-repeat;
|
66
|
+
background-position: center left;
|
67
|
+
}
|
68
|
+
|
69
|
+
.play {
|
70
|
+
background-image: file-url('player-icon-play.png');
|
71
|
+
}
|
72
|
+
|
73
|
+
.pause {
|
74
|
+
background-image: file-url('player-icon-pause.png');
|
75
|
+
}
|
76
|
+
|
77
|
+
.rewind,
|
78
|
+
.forward {
|
79
|
+
position: absolute;
|
80
|
+
top: 0;
|
81
|
+
z-index: 30;
|
82
|
+
height: 20px;
|
83
|
+
width: 40px;
|
84
|
+
overflow: hidden;
|
85
|
+
text-indent: -5000%;
|
86
|
+
background-repeat: no-repeat;
|
87
|
+
background-position: center left;
|
88
|
+
}
|
89
|
+
|
90
|
+
.rewind {
|
91
|
+
left: 0;
|
92
|
+
background-image: file-url('player-icon-rewind.png');
|
93
|
+
}
|
94
|
+
|
95
|
+
.forward {
|
96
|
+
left: 100%;
|
97
|
+
margin-left: -40px;
|
98
|
+
background-image: file-url('player-icon-forward.png');
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
.volume-controls {
|
103
|
+
position: absolute;
|
104
|
+
bottom: 0;
|
105
|
+
right: 0;
|
106
|
+
height: 40px;
|
107
|
+
width: 180px;
|
108
|
+
overflow: visible;
|
109
|
+
|
110
|
+
.mute {
|
111
|
+
position: absolute;
|
112
|
+
bottom: 0;
|
113
|
+
right: 0;
|
114
|
+
height: 40px;
|
115
|
+
width: 50px;
|
116
|
+
padding-top: 1px;
|
117
|
+
font-size: 14px;
|
118
|
+
line-height: 40px;
|
119
|
+
text-align: center;
|
120
|
+
}
|
121
|
+
|
122
|
+
.muted {
|
123
|
+
color: $light-blue;
|
124
|
+
|
125
|
+
~ * {
|
126
|
+
opacity: 0.333;
|
127
|
+
}
|
128
|
+
|
129
|
+
~ .vol-display {
|
130
|
+
text-decoration: line-through;
|
131
|
+
}
|
132
|
+
}
|
133
|
+
|
134
|
+
.muted::after {
|
135
|
+
content: "d";
|
136
|
+
}
|
137
|
+
|
138
|
+
.vol-down,
|
139
|
+
.vol-up {
|
140
|
+
position: absolute;
|
141
|
+
bottom: 0;
|
142
|
+
height: 40px;
|
143
|
+
width: 60px;
|
144
|
+
font-size: 24px;
|
145
|
+
line-height: 40px;
|
146
|
+
text-align: center;
|
147
|
+
z-index: 10;
|
148
|
+
|
149
|
+
&:hover,
|
150
|
+
&:focus {
|
151
|
+
color: $light-blue;
|
152
|
+
background-color: transparent;
|
153
|
+
outline: none;
|
154
|
+
|
155
|
+
&:before {
|
156
|
+
background-color: $focus-colour;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
&:before {
|
161
|
+
content: "";
|
162
|
+
display: inline-block;
|
163
|
+
position: absolute;
|
164
|
+
width: 50%;
|
165
|
+
height: 100%;
|
166
|
+
z-index: -1;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
.vol-down {
|
171
|
+
text-align: left;
|
172
|
+
padding-left: 10px;
|
173
|
+
left: 0;
|
174
|
+
|
175
|
+
&:before {
|
176
|
+
left: 0;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
.vol-up {
|
181
|
+
text-align: right;
|
182
|
+
padding-right: 10px;
|
183
|
+
left: 65px;
|
184
|
+
|
185
|
+
&:before {
|
186
|
+
right: 0;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
.vol-display {
|
191
|
+
position: absolute;
|
192
|
+
bottom: 0;
|
193
|
+
left: 25px;
|
194
|
+
height: 40px;
|
195
|
+
width: 0;
|
196
|
+
padding-left: 35px;
|
197
|
+
overflow: visible;
|
198
|
+
font-size: 14px;
|
199
|
+
font-weight: bold;
|
200
|
+
line-height: 40px;
|
201
|
+
background-repeat: no-repeat;
|
202
|
+
background-position: center left;
|
203
|
+
background-image: file-url('player-icon-volume.png');
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
.current-time {
|
208
|
+
position: absolute;
|
209
|
+
bottom: 0;
|
210
|
+
left: 45px;
|
211
|
+
height: 40px;
|
212
|
+
font-size: 14px;
|
213
|
+
line-height: 40px;
|
214
|
+
font-weight: bold;
|
215
|
+
}
|
216
|
+
|
217
|
+
.duration-time {
|
218
|
+
display: none;
|
219
|
+
position: absolute;
|
220
|
+
bottom: 0;
|
221
|
+
right: 10px;
|
222
|
+
height: 40px;
|
223
|
+
line-height: 40px;
|
224
|
+
font-size: 16px;
|
225
|
+
font-weight: bold;
|
226
|
+
}
|
227
|
+
|
228
|
+
.ui-slider {
|
229
|
+
position: absolute;
|
230
|
+
top: 0;
|
231
|
+
right: 0;
|
232
|
+
width: 100%;
|
233
|
+
height: 20px;
|
234
|
+
overflow: hidden;
|
235
|
+
background: $border-colour;
|
236
|
+
|
237
|
+
.progress-bar {
|
238
|
+
position: absolute;
|
239
|
+
top: 0;
|
240
|
+
left: 0;
|
241
|
+
height: 100%;
|
242
|
+
padding-bottom: 1px;
|
243
|
+
background: $light-blue;
|
244
|
+
}
|
245
|
+
|
246
|
+
.ui-slider-handle {
|
247
|
+
position: absolute;
|
248
|
+
top: 0;
|
249
|
+
height: 100%;
|
250
|
+
padding-bottom: 1px;
|
251
|
+
width: 20px;
|
252
|
+
// Allow RGBA here, it is the only colour value with alpha transparency
|
253
|
+
// scss-lint:disable ColorVariable
|
254
|
+
color: rgba(0, 0, 0, 0.5);
|
255
|
+
z-index: 10;
|
256
|
+
}
|
257
|
+
}
|
258
|
+
}
|
259
|
+
|
260
|
+
.ui-helper-hidden-accessible {
|
261
|
+
position: absolute;
|
262
|
+
left: -5000%;
|
263
|
+
}
|
264
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
PAYLOAD='{
|
6
|
+
"request": {
|
7
|
+
"branch": "master"
|
8
|
+
}}'
|
9
|
+
|
10
|
+
curl -s -X POST \
|
11
|
+
-H "Content-Type: application/json" \
|
12
|
+
-H "Accept: application/json" \
|
13
|
+
-H "Travis-API-Version: 3" \
|
14
|
+
-H "Authorization: token $TRAVIS_TOKEN" \
|
15
|
+
-d "$PAYLOAD" \
|
16
|
+
https://api.travis-ci.org/repo/alphagov%2Fgovuk_frontend_toolkit_gem/requests
|
17
|
+
|
18
|
+
curl -s -X POST \
|
19
|
+
-H "Content-Type: application/json" \
|
20
|
+
-H "Accept: application/json" \
|
21
|
+
-H "Travis-API-Version: 3" \
|
22
|
+
-H "Authorization: token $TRAVIS_TOKEN" \
|
23
|
+
-d "$PAYLOAD" \
|
24
|
+
https://api.travis-ci.org/repo/alphagov%2Fgovuk_frontend_toolkit_npm/requests
|
@@ -0,0 +1,49 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
|
3
|
+
require "idsk_frontend_toolkit/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "idsk_frontend_toolkit"
|
7
|
+
s.version = IDSKFrontendToolkit.toolkit_version
|
8
|
+
s.summary = 'Tools for building frontend applications'
|
9
|
+
s.authors = ["Ernest Walzel", "Government Digital Service"]
|
10
|
+
s.email = ["ernest.walzel@slovensko.digital", "govuk-dev@digital.cabinet-office.gov.uk"]
|
11
|
+
s.homepage = 'https://github.com/id-sk/idsk_frontend_toolkit'
|
12
|
+
s.license = 'MIT'
|
13
|
+
|
14
|
+
s.add_dependency "railties", ">= 3.1.0"
|
15
|
+
|
16
|
+
s.add_dependency "sass", ">= 3.2.0"
|
17
|
+
s.add_development_dependency "rake", "0.9.2.2"
|
18
|
+
|
19
|
+
s.require_paths = ["lib", "app"]
|
20
|
+
s.files = `git ls-files`.split($\)
|
21
|
+
|
22
|
+
# We need to include the files from the submodules, example from:
|
23
|
+
# http://somethingaboutcode.wordpress.com/2012/09/27/include-files-from-git-submodules-when-building-a-ruby-gem/
|
24
|
+
|
25
|
+
gemroot_path = `pwd`.strip
|
26
|
+
# get an array of submodule dirs by executing 'pwd' inside each submodule
|
27
|
+
`git submodule --quiet foreach pwd`.split($\).each do |submodule_path|
|
28
|
+
# for each submodule, change working directory to that submodule
|
29
|
+
Dir.chdir(submodule_path) do
|
30
|
+
|
31
|
+
# issue git ls-files in submodule's directory
|
32
|
+
submodule_files = `git ls-files`.split($\)
|
33
|
+
|
34
|
+
# prepend the submodule path to create absolute file paths
|
35
|
+
submodule_files_fullpaths = submodule_files.map do |filename|
|
36
|
+
"#{submodule_path}/#{filename}"
|
37
|
+
end
|
38
|
+
|
39
|
+
# remove leading path parts to get paths relative to the gem's root dir
|
40
|
+
# (this assumes, that the gemspec resides in the gem's root dir)
|
41
|
+
submodule_files_paths = submodule_files_fullpaths.map do |filename|
|
42
|
+
filename.gsub "#{gemroot_path}/", ""
|
43
|
+
end
|
44
|
+
|
45
|
+
# add relative paths to gem.files
|
46
|
+
s.files += submodule_files_paths
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/publish.sh
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
set -e
|
3
|
+
|
4
|
+
# Checkout master as we are currently have an individual commit checked out on
|
5
|
+
# a detached tree. This means when we commit later it will be on a branch
|
6
|
+
git checkout master
|
7
|
+
git reset --hard origin/master
|
8
|
+
|
9
|
+
# Init the submodule and checkout the revision pinned in `.gitmodules`
|
10
|
+
git submodule update --init
|
11
|
+
|
12
|
+
# The version of the toolkit defined by the pinned submodule
|
13
|
+
PINNED_SUBMODULE_VERSION=`cat app/assets/VERSION.txt`
|
14
|
+
|
15
|
+
# Force the submodule to pull the latest and checkout origin/master
|
16
|
+
git submodule foreach git pull origin master
|
17
|
+
|
18
|
+
# The version of the toolkit defined in the submodules master branch
|
19
|
+
NEW_SUBMODULE_VERSION=`cat app/assets/VERSION.txt`
|
20
|
+
|
21
|
+
# Install gem dependencies and run tests
|
22
|
+
bundle install
|
23
|
+
bundle exec rake
|
24
|
+
|
25
|
+
# If the submodule has a new version string
|
26
|
+
if [ "$PINNED_SUBMODULE_VERSION" != "$NEW_SUBMODULE_VERSION" ]; then
|
27
|
+
# Commit the updated submodule and push it to origin
|
28
|
+
git commit -am "Bump to version $NEW_SUBMODULE_VERSION"
|
29
|
+
git push origin_ssh master
|
30
|
+
fi
|