barbican-reset 2.34.0 → 2.35.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.
- package/README.md +23 -11
- package/components/card_display.vue +15 -15
- package/components/fluid_iframe.vue +8 -9
- package/package.json +4 -6
- package/patterns/scss/styles.scss +1 -1
- package/scss/_atomic.scss +40 -14
- package/scss/_br-alert.scss +10 -5
- package/scss/_br-button.scss +66 -39
- package/{helpers → scss/helpers}/mixins/_font.scss +1 -1
- package/{helpers → scss/helpers}/mixins/_headings.scss +2 -0
- package/scss/helpers/variables/colors/_brand.scss +96 -0
- package/scss/index.scss +3 -2
- package/fonts/SupremeLLWeb-Black.woff +0 -0
- package/fonts/SupremeLLWeb-Black.woff2 +0 -0
- package/fonts/SupremeLLWeb-BlackItalic.woff +0 -0
- package/fonts/SupremeLLWeb-BlackItalic.woff2 +0 -0
- package/fonts/SupremeLLWeb-Italic.woff +0 -0
- package/fonts/SupremeLLWeb-Italic.woff2 +0 -0
- package/fonts/SupremeLLWeb-Light.woff +0 -0
- package/fonts/SupremeLLWeb-Light.woff2 +0 -0
- package/fonts/SupremeLLWeb-LightItalic.woff +0 -0
- package/fonts/SupremeLLWeb-LightItalic.woff2 +0 -0
- package/fonts/SupremeLLWeb-Regular.woff +0 -0
- package/fonts/SupremeLLWeb-Regular.woff2 +0 -0
- package/helpers/variables/colors/_brand.scss +0 -79
- /package/{helpers → scss/helpers}/functions/index.scss +0 -0
- /package/{helpers → scss/helpers}/index.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_basket.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-alert.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-card.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-footer.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-form-password.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-form-row.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-form-update.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_br-skiplink.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_breakpoints.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_buttons.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_city-of-london.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_content.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_core.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_festival.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_focus.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_input.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_loading.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/_table.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/account/_orders.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/buttons/_outline.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/buttons/_setup.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/buttons/_solid.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/buttons/_spektrix.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-border-reset.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-column.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-container.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-inner.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-search-form.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/_br-site-logo.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/drupal/index.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/index.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_checkbox.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_generic.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_radio.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_select.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_status.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/input/_text.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_basket.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_details.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_etickets.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_gifts.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_membership.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_orders.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_preferences.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_resale.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_section.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_simple.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/_tickets.scss +0 -0
- /package/{helpers → scss/helpers}/mixins/table/row/_disabled.scss +0 -0
- /package/{helpers → scss/helpers}/variables/_alerts.scss +0 -0
- /package/{helpers → scss/helpers}/variables/_columns.scss +0 -0
- /package/{helpers → scss/helpers}/variables/_layout.scss +0 -0
- /package/{helpers → scss/helpers}/variables/_typography.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/_docs.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/_grey.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/_llf.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/_status.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/_wgp.scss +0 -0
- /package/{helpers → scss/helpers}/variables/colors/index.scss +0 -0
- /package/{helpers → scss/helpers}/variables/index.scss +0 -0
package/README.md
CHANGED
|
@@ -8,10 +8,10 @@ The Barbican Reset is an NPM module created to maintain consistency between the
|
|
|
8
8
|
|
|
9
9
|
1. Setup
|
|
10
10
|
2. Component library
|
|
11
|
-
3. SCSS
|
|
12
|
-
4.
|
|
13
|
-
5.
|
|
14
|
-
6.
|
|
11
|
+
3. SCSS documentation
|
|
12
|
+
4. JS documentation
|
|
13
|
+
5. Pattern library
|
|
14
|
+
6. Font library
|
|
15
15
|
|
|
16
16
|
## 1. Setup
|
|
17
17
|
|
|
@@ -31,11 +31,11 @@ Spektrix iframe development: `@import "../../node_modules/barbican-reset/scss/in
|
|
|
31
31
|
|
|
32
32
|
#### SCSS Mixins
|
|
33
33
|
|
|
34
|
-
Vue.js: `@import "~barbican-reset/helpers";`
|
|
34
|
+
Vue.js: `@import "~barbican-reset/scss/helpers";`
|
|
35
35
|
|
|
36
36
|
> The Barbican ticketing site makes SCSS mixins globally available via the `vue.config.js` file
|
|
37
37
|
|
|
38
|
-
Drupal: `@import "../node_modules/barbican-reset/helpers/index";`
|
|
38
|
+
Drupal: `@import "../node_modules/barbican-reset/scss/helpers/index";`
|
|
39
39
|
|
|
40
40
|
... fonts
|
|
41
41
|
|
|
@@ -92,11 +92,25 @@ The BR naming convention imitates the Bootstrap example. This format is useful f
|
|
|
92
92
|
2. It forces components to use a two word syntax, which is the recommended format for custom components. For example, <br-header> instead of <header>, which avoids clashing with native HTML5 components.
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
## 3. SCSS
|
|
95
|
+
## 3. SCSS documentation
|
|
96
|
+
|
|
97
|
+
We use SassDoc to document our SCSS. Here's some useful commands for working with this documentation:
|
|
98
|
+
|
|
99
|
+
- To output the latest documentation and watch for changes to scss, run `gulp watch:css`
|
|
100
|
+
- To view the documentation, open the file `sassdoc/index.html` in your browser. You will need to refresh this page to view any additional changes that you make.
|
|
96
101
|
|
|
97
102
|
Most components have corresponding SCSS classes (and mixins) which allow us to implement consistent styling across our various frontends, irrespective of their HTML structure.
|
|
98
103
|
|
|
99
|
-
## 4.
|
|
104
|
+
## 4. JS documentation
|
|
105
|
+
|
|
106
|
+
We use JSDoc to document our Javascript. Here's some useful commands for working with this documentation:
|
|
107
|
+
|
|
108
|
+
- To output the latest documentation and watch for changes to javascript, run `gulp watch:js`
|
|
109
|
+
- To manually output documentation using gulp, run `gulp doc:js`
|
|
110
|
+
- To manually output documentation using jsdoc, run `jsdoc gulpfile.js`
|
|
111
|
+
- To view the documentation, open the file `out/index.html` in your browser. You will need to refresh this page to view any additional changes that you make.
|
|
112
|
+
|
|
113
|
+
## 5. Pattern library
|
|
100
114
|
|
|
101
115
|
The Barbican Reset includes a pattern library. This provides a single source of truth for all the SCSS contained within and allows us to view a whole family of Barbican styles alongside each other.
|
|
102
116
|
|
|
@@ -136,12 +150,10 @@ Mixins are useful for printing repetitive code, such as loops to the page. The p
|
|
|
136
150
|
|
|
137
151
|
The pattern library was created as a single source of truth for Barbican styles and components. Unfortunately the components are only compatible with Vue.js currently and so the HTML markup is duplicated.
|
|
138
152
|
|
|
139
|
-
##
|
|
153
|
+
## 6. Font library
|
|
140
154
|
|
|
141
155
|
The Barbican Reset includes a SCSS mixin called `font-face` which constructs font paths...
|
|
142
156
|
|
|
143
157
|
#### Future intent
|
|
144
158
|
|
|
145
159
|
To have this available on a url for assets... ie. assets.barbican.org.uk/supreme
|
|
146
|
-
|
|
147
|
-
## 6. SVG library
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<live-icon :class="$style.svg" />
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
|
-
<img :class="$style.image" :src="image"
|
|
9
|
+
<img :class="$style.image" :src="image" />
|
|
10
10
|
<div v-if="expired" :class="$style.title">
|
|
11
11
|
<h4>Expired</h4>
|
|
12
12
|
</div>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</template>
|
|
15
15
|
|
|
16
16
|
<script>
|
|
17
|
-
import { LiveIcon } from
|
|
17
|
+
import { LiveIcon } from "barbican-reset/icons/stream";
|
|
18
18
|
export default {
|
|
19
19
|
name: "CardDisplay",
|
|
20
20
|
components: { LiveIcon },
|
|
@@ -33,28 +33,31 @@ export default {
|
|
|
33
33
|
},
|
|
34
34
|
type: {
|
|
35
35
|
type: String,
|
|
36
|
-
default:
|
|
36
|
+
default: "concert",
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
39
|
computed: {
|
|
40
40
|
styleComponent() {
|
|
41
41
|
const style = this.$style;
|
|
42
42
|
let output = [style.component];
|
|
43
|
-
if (this.hero) {
|
|
43
|
+
if (this.hero) {
|
|
44
|
+
output.push(style.hero);
|
|
45
|
+
}
|
|
44
46
|
return output;
|
|
45
47
|
},
|
|
46
48
|
styleButton() {
|
|
47
49
|
const style = this.$style;
|
|
48
50
|
let output = [style.button];
|
|
49
|
-
if (this.hero) {
|
|
51
|
+
if (this.hero) {
|
|
52
|
+
output.push(style.hero);
|
|
53
|
+
}
|
|
50
54
|
return output;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
54
58
|
</script>
|
|
55
59
|
|
|
56
60
|
<style lang="scss" scoped>
|
|
57
|
-
|
|
58
61
|
.btn.btn-secondary {
|
|
59
62
|
&:not(.hero) {
|
|
60
63
|
border-radius: 50%;
|
|
@@ -68,12 +71,10 @@ export default {
|
|
|
68
71
|
gap: 0.5rem;
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
|
-
|
|
72
74
|
</style>
|
|
73
75
|
|
|
74
76
|
<style lang="scss" module>
|
|
75
|
-
|
|
76
|
-
@import "../helpers";
|
|
77
|
+
@import "../scss/helpers";
|
|
77
78
|
|
|
78
79
|
.svg {
|
|
79
80
|
fill: white;
|
|
@@ -112,12 +113,11 @@ export default {
|
|
|
112
113
|
right: 1.5rem;
|
|
113
114
|
top: 1.5rem;
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
+
|
|
116
117
|
.title {
|
|
117
118
|
h4 {
|
|
118
119
|
font-size: $h2-font-size;
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
|
-
|
|
123
|
-
</style>
|
|
123
|
+
</style>
|
|
@@ -5,26 +5,26 @@
|
|
|
5
5
|
allowfullscreen
|
|
6
6
|
frameborder="0"
|
|
7
7
|
height="100%"
|
|
8
|
-
width="100%"
|
|
9
|
-
:src="src"
|
|
8
|
+
width="100%"
|
|
9
|
+
:src="src"
|
|
10
|
+
/>
|
|
10
11
|
</div>
|
|
11
12
|
</template>
|
|
12
13
|
|
|
13
14
|
<script>
|
|
14
15
|
export default {
|
|
15
|
-
name:
|
|
16
|
+
name: "FluidIframe",
|
|
16
17
|
props: {
|
|
17
18
|
src: {
|
|
18
19
|
type: String,
|
|
19
|
-
required: true
|
|
20
|
-
}
|
|
21
|
-
}
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
22
23
|
};
|
|
23
24
|
</script>
|
|
24
25
|
|
|
25
26
|
<style lang="scss" module>
|
|
26
|
-
|
|
27
|
-
@import "../helpers";
|
|
27
|
+
@import "../scss/helpers";
|
|
28
28
|
|
|
29
29
|
.component {
|
|
30
30
|
border-radius: $border-radius-lg;
|
|
@@ -37,5 +37,4 @@ export default {
|
|
|
37
37
|
position: absolute;
|
|
38
38
|
@include inset(0);
|
|
39
39
|
}
|
|
40
|
-
|
|
41
40
|
</style>
|
package/package.json
CHANGED
|
@@ -64,15 +64,14 @@
|
|
|
64
64
|
"gulp-sass": "^5.0.0",
|
|
65
65
|
"gulp-sourcemaps": "^3.0.0",
|
|
66
66
|
"gulp-uglify": "^3.0.2",
|
|
67
|
+
"js-doc": "^0.5.0",
|
|
67
68
|
"luxon": "^3.2.1",
|
|
68
69
|
"node-sass-tilde-importer": "^1.0.2",
|
|
69
70
|
"nodemon": "^3.1.0",
|
|
70
|
-
"placeholder-loading": "^0.4.0",
|
|
71
71
|
"pug": "^3.0.2",
|
|
72
72
|
"sass": "^1.41.0",
|
|
73
|
-
"
|
|
74
|
-
"serve-favicon": "^2.5.0"
|
|
75
|
-
"vue-slick-carousel": "^1.0.6"
|
|
73
|
+
"sassdoc": "^2.7.4",
|
|
74
|
+
"serve-favicon": "^2.5.0"
|
|
76
75
|
},
|
|
77
76
|
"devDependencies": {
|
|
78
77
|
"bootstrap": "^5.1.3"
|
|
@@ -83,7 +82,6 @@
|
|
|
83
82
|
"components/**/*",
|
|
84
83
|
"dist/**/*",
|
|
85
84
|
"fonts/*",
|
|
86
|
-
"helpers/**/*",
|
|
87
85
|
"icons/**/*",
|
|
88
86
|
"patterns/**/*",
|
|
89
87
|
"logos/*",
|
|
@@ -106,5 +104,5 @@
|
|
|
106
104
|
"build:patterns": "cd patterns && rm -rf html && pug views --out html"
|
|
107
105
|
},
|
|
108
106
|
"style": "dist/css/barbican-reset.css",
|
|
109
|
-
"version": "2.
|
|
107
|
+
"version": "2.35.0"
|
|
110
108
|
}
|
package/scss/_atomic.scss
CHANGED
|
@@ -3,32 +3,57 @@ $text-aligns: 'left', 'center', 'right';
|
|
|
3
3
|
$margins05: 'margin-top', 'margin-bottom', 'margin-right', 'margin-left';
|
|
4
4
|
$paddings05: 'padding-top', 'padding-bottom', 'padding-right', 'padding-left';
|
|
5
5
|
|
|
6
|
-
@
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/// @group Atomic
|
|
7
|
+
/// Generator for gap classes. Creates 5 variations
|
|
8
|
+
/// @example .margin-top-1, .margin-top-2, .margin-top-3, .margin-top-4, .margin-top-5
|
|
9
|
+
@mixin printGapClasses {
|
|
10
|
+
@each $gap in $gaps {
|
|
11
|
+
@for $i from 1 to 5 {
|
|
12
|
+
.#{$gap}-#{$i} {
|
|
13
|
+
#{$gap}: 1rem * $i;
|
|
14
|
+
}
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
}
|
|
13
18
|
|
|
14
|
-
@
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
/// @group Atomic
|
|
20
|
+
/// Generator for text-align classes. Creates 3 variations
|
|
21
|
+
/// @example .text-align-left, .text-align-center, .text-align-right
|
|
22
|
+
@mixin printTextAlignClasses {
|
|
23
|
+
@each $align in $text-aligns {
|
|
24
|
+
.text-align-#{$align} {
|
|
25
|
+
text-align: #{$align};
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
28
|
}
|
|
19
29
|
|
|
20
|
-
@
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
/// @group Atomic
|
|
31
|
+
/// Generator for margin half classes. Creates 4 variations
|
|
32
|
+
/// @example .margin-top-05, .margin-bottom-05, .margin-right-05, .margin-left-05
|
|
33
|
+
@mixin printMarginClasses {
|
|
34
|
+
@each $margin in $margins05 {
|
|
35
|
+
.#{$margin}-05 {
|
|
36
|
+
#{$margin}: 0.5rem;
|
|
37
|
+
}
|
|
23
38
|
}
|
|
24
39
|
}
|
|
25
40
|
|
|
26
|
-
@
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
/// @group Atomic
|
|
42
|
+
/// Generator for padding half classes. Creates 4 variations
|
|
43
|
+
/// @example .padding-top-05, .padding-bottom-05, .padding-right-05, .padding-left-05
|
|
44
|
+
@mixin printPaddingClasses {
|
|
45
|
+
@each $padding in $paddings05 {
|
|
46
|
+
.#{$padding}-05 {
|
|
47
|
+
#{$padding}: 0.5rem;
|
|
48
|
+
}
|
|
29
49
|
}
|
|
30
50
|
}
|
|
31
51
|
|
|
52
|
+
@include printGapClasses;
|
|
53
|
+
@include printTextAlignClasses;
|
|
54
|
+
@include printMarginClasses;
|
|
55
|
+
@include printPaddingClasses;
|
|
56
|
+
|
|
32
57
|
.font-weight-700 {
|
|
33
58
|
@include fontfamily-black;
|
|
34
59
|
}
|
|
@@ -91,6 +116,7 @@ $paddings05: 'padding-top', 'padding-bottom', 'padding-right', 'padding-left';
|
|
|
91
116
|
min-width: 3rem;
|
|
92
117
|
}
|
|
93
118
|
|
|
119
|
+
/// Class for visually hiding markup, while still allowing screen readers to parse the content
|
|
94
120
|
.sr-only {
|
|
95
121
|
@include sr-only;
|
|
96
|
-
}
|
|
122
|
+
}
|
package/scss/_br-alert.scss
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/// @group Components
|
|
2
|
+
/// BrAlert component class
|
|
3
|
+
/// @example .br-alert.center .wrap.inline.error
|
|
2
4
|
.br-alert {
|
|
3
5
|
@include br-alert--setup;
|
|
4
6
|
|
|
@@ -10,14 +12,16 @@
|
|
|
10
12
|
@include br-alert-wrap--colors($neutral_wrap...);
|
|
11
13
|
@include br-alert-wrap--setup;
|
|
12
14
|
|
|
13
|
-
.btn.btn-link,
|
|
15
|
+
.btn.btn-link,
|
|
16
|
+
a {
|
|
14
17
|
@include br-alert-link($neutral_focus...);
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
&.error {
|
|
18
21
|
@include br-alert-wrap--colors($error_wrap...);
|
|
19
22
|
|
|
20
|
-
.btn.btn-link,
|
|
23
|
+
.btn.btn-link,
|
|
24
|
+
a {
|
|
21
25
|
@include br-alert-link($error_focus...);
|
|
22
26
|
}
|
|
23
27
|
}
|
|
@@ -25,7 +29,8 @@
|
|
|
25
29
|
&.success {
|
|
26
30
|
@include br-alert-wrap--colors($success_wrap...);
|
|
27
31
|
|
|
28
|
-
.btn.btn-link,
|
|
32
|
+
.btn.btn-link,
|
|
33
|
+
a {
|
|
29
34
|
@include br-alert-link($success_focus...);
|
|
30
35
|
}
|
|
31
36
|
}
|
|
@@ -41,7 +46,7 @@
|
|
|
41
46
|
p {
|
|
42
47
|
margin-bottom: 0;
|
|
43
48
|
|
|
44
|
-
+
|
|
49
|
+
+p {
|
|
45
50
|
margin-top: 1rem;
|
|
46
51
|
}
|
|
47
52
|
}
|
package/scss/_br-button.scss
CHANGED
|
@@ -1,45 +1,72 @@
|
|
|
1
|
+
/// Button component setup class.
|
|
2
|
+
/// Used in combination with a button style class
|
|
3
|
+
/// @group Buttons
|
|
4
|
+
/// @example .btn.btn-primary
|
|
1
5
|
.btn {
|
|
2
6
|
@include setup-button;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
/// Primary button.
|
|
11
|
+
/// Defaults to solid orange. Borders orange on focus.
|
|
12
|
+
/// @group Buttons
|
|
13
|
+
.btn.btn-primary {
|
|
14
|
+
@include btn-primary;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/// Primary outline button.
|
|
19
|
+
/// Defaults to orange outline. Fills orange on focus
|
|
20
|
+
/// @group Buttons
|
|
21
|
+
.btn.btn-outline-primary {
|
|
22
|
+
@include btn-outline-primary;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/// Primary outline header button.
|
|
27
|
+
/// Defaults to white outline. Fills white on focus
|
|
28
|
+
/// @group Buttons
|
|
29
|
+
.btn.btn-outline-header {
|
|
30
|
+
@include btn-outline-header;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// Info button.
|
|
34
|
+
/// Defaults to solid blue. Borders blue on focus.
|
|
35
|
+
/// @group Buttons
|
|
36
|
+
.btn.btn-info {
|
|
37
|
+
@include btn-info;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// Primary outline info button.
|
|
41
|
+
/// Defaults to blue outline. Fills blue on focus
|
|
42
|
+
/// @group Buttons
|
|
43
|
+
.btn.btn-outline-info {
|
|
44
|
+
@include btn-outline-info;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// Secondary button.
|
|
48
|
+
/// Defaults to solid grey. Borders grey on focus.
|
|
49
|
+
/// @group Buttons
|
|
50
|
+
.btn.btn-secondary {
|
|
51
|
+
@include btn-secondary;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/// Primary outline info button.
|
|
55
|
+
/// Defaults to grey outline. Fills grey on focus
|
|
56
|
+
/// @group Buttons
|
|
57
|
+
.btn.btn-outline-secondary {
|
|
58
|
+
@include btn-outline-secondary;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// Input edit button.
|
|
62
|
+
/// Semi circular control for lockable input fields.
|
|
63
|
+
/// Defaults to grey outline. Fills grey on focus.
|
|
64
|
+
/// @group Buttons
|
|
65
|
+
.btn.btn-input-edit {
|
|
66
|
+
@include btn-input-edit;
|
|
67
|
+
}
|
|
3
68
|
|
|
4
|
-
|
|
5
|
-
// solid orange
|
|
6
|
-
@include btn-primary;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
&.btn-outline-primary {
|
|
10
|
-
// orange outline, fill on focus
|
|
11
|
-
@include btn-outline-primary;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
&.btn-outline-header {
|
|
15
|
-
// orange outline, fill on focus
|
|
16
|
-
@include btn-outline-header;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
&.btn-info {
|
|
20
|
-
// solid blue
|
|
21
|
-
@include btn-info;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&.btn-outline-info {
|
|
25
|
-
// blue outline, fill on focus
|
|
26
|
-
@include btn-outline-info;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
&.btn-secondary {
|
|
30
|
-
// solid grey
|
|
31
|
-
@include btn-secondary;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&.btn-outline-secondary {
|
|
35
|
-
// grey outline, fill on focus
|
|
36
|
-
@include btn-outline-secondary;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&.btn-input-edit {
|
|
40
|
-
@include btn-input-edit;
|
|
41
|
-
}
|
|
42
|
-
|
|
69
|
+
.btn {
|
|
43
70
|
&.btn-remove {
|
|
44
71
|
// solid grey, slim
|
|
45
72
|
@include btn-remove;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/// $c-brand-art
|
|
2
|
+
$c-brand-art: hsl(329, 100%, 45%);
|
|
3
|
+
/// $c-brand-cinema
|
|
4
|
+
$c-brand-cinema: hsl(126, 62%, 33%);
|
|
5
|
+
/// $c-brand-classical
|
|
6
|
+
$c-brand-classical: hsl(38, 53%, 38%);
|
|
7
|
+
/// $c-brand-contemporary
|
|
8
|
+
$c-brand-contemporary: hsl(254, 44%, 33%);
|
|
9
|
+
$c-brand-generic: hsl(21, 100%, 41%);
|
|
10
|
+
$c-brand-membership: hsl(217, 72%, 53%);
|
|
11
|
+
$c-brand-programme: $c-grey-l21;
|
|
12
|
+
$c-brand-shop: hsl(168, 75%, 30%);
|
|
13
|
+
$c-brand-talks: hsl(214, 30%, 49%);
|
|
14
|
+
$c-brand-theatre: hsl(192, 99%, 31%);
|
|
15
|
+
|
|
16
|
+
$c-patron: $c-grey-l44;
|
|
17
|
+
$c-patron-light: hsl(0, 0%, 60%);
|
|
18
|
+
$c-principle: $c-brand-classical;
|
|
19
|
+
$c-principle-light: hsl(38, 53%, 53%);
|
|
20
|
+
|
|
21
|
+
/// see map-merge for example usage. talks--workshops is deprecated, use talks--events instead.
|
|
22
|
+
$setup: (
|
|
23
|
+
contemporary-music: $c-brand-contemporary,
|
|
24
|
+
membership--support: $c-brand-membership,
|
|
25
|
+
tours--public-spaces: $c-brand-generic,
|
|
26
|
+
classical-music: $c-brand-classical,
|
|
27
|
+
talks--workshops: $c-brand-talks,
|
|
28
|
+
theatre--dance: $c-brand-theatre,
|
|
29
|
+
talks--events: $c-brand-talks,
|
|
30
|
+
art--design: $c-brand-art,
|
|
31
|
+
generic: $c-brand-generic,
|
|
32
|
+
library: $c-brand-generic,
|
|
33
|
+
cinema: $c-brand-cinema,
|
|
34
|
+
hire: $c-brand-generic,
|
|
35
|
+
programme: $c-brand-programme,
|
|
36
|
+
shop: $c-brand-shop,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
/// brands map will contain a shade map for each color variable
|
|
40
|
+
$brands: ();
|
|
41
|
+
|
|
42
|
+
/// map-brands automates the process of creating tints/shades for individual colors.
|
|
43
|
+
@function map-brands($color) {
|
|
44
|
+
$map: (
|
|
45
|
+
shade-65: shade($color, 65%),
|
|
46
|
+
shade-20: shade($color, 20%),
|
|
47
|
+
shade-10: shade($color, 10%),
|
|
48
|
+
base: $color,
|
|
49
|
+
tint-40: tint($color, 40%),
|
|
50
|
+
tint-70: tint($color, 70%),
|
|
51
|
+
tint-85: tint($color, 85%),
|
|
52
|
+
tint-95: tint($color, 95%),
|
|
53
|
+
tint-98: tint($color, 98%),
|
|
54
|
+
);
|
|
55
|
+
@return $map;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/// this process loops through the $setup map and creates a mappable value for each item, then merges the item into the $brands map
|
|
59
|
+
@each $key, $value in $setup {
|
|
60
|
+
$map: ();
|
|
61
|
+
$map: map-merge($map, ($key: map-brands($value)));
|
|
62
|
+
$brands: map-merge($brands, $map);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/// utility function for referencing a color variant from the brands map
|
|
66
|
+
/// @param {Map} $name - color reference from the $setup map
|
|
67
|
+
/// @param {String} $variant - shade reference from the map-brands function
|
|
68
|
+
@function brandColor($name, $variant: base) {
|
|
69
|
+
@return map-get(map-get($brands, $name), $variant);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
$c-background-alt: brandColor(generic, tint-95);
|
|
73
|
+
|
|
74
|
+
/// @deprecated $c-brand-cinema-dark
|
|
75
|
+
$c-brand-cinema-dark: brandColor(cinema, shade-20);
|
|
76
|
+
/// @deprecated $c-brand-shop-light
|
|
77
|
+
$c-brand-shop-light: brandColor(shop, tint-85);
|
|
78
|
+
/// @deprecated $c-brand-shop-dark
|
|
79
|
+
$c-brand-shop-dark: brandColor(shop, shade-20);
|
|
80
|
+
|
|
81
|
+
/// @deprecated $c-brand-faint?
|
|
82
|
+
$c-brand-generic-s60-l99: brandColor(generic, tint-95);
|
|
83
|
+
/// @deprecated $c-brand-light?
|
|
84
|
+
$c-brand-generic-s100-l95: brandColor(generic, tint-85);
|
|
85
|
+
/// @deprecated $c-brand-shade?
|
|
86
|
+
$c-brand-generic-s50-l90: brandColor(generic, tint-70);
|
|
87
|
+
/// @deprecated $c-brand-dark?
|
|
88
|
+
$c-brand-generic-s100-l38: brandColor(generic, shade-10);
|
|
89
|
+
/// @deprecated $c-brand-x-dark?
|
|
90
|
+
$c-brand-generic-s100-l15: brandColor(generic, shade-65);
|
|
91
|
+
/// @deprecated $c-brand-classical-light
|
|
92
|
+
$c-brand-classical-light: brandColor(classical-music, tint-95);
|
|
93
|
+
/// @deprecated $c-brand-classical-dark
|
|
94
|
+
$c-brand-classical-dark: brandColor(classical-music, shade-20);
|
|
95
|
+
|
|
96
|
+
$c-brand-membership-dark: hsl(223, 87%, 21%);
|
package/scss/index.scss
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
@import "node_modules/bootstrap/scss/functions";
|
|
2
2
|
@import "node_modules/bootstrap/scss/variables";
|
|
3
3
|
@import "node_modules/bootstrap/scss/mixins";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
@import "helpers/index";
|
|
5
6
|
|
|
6
7
|
@include font-face;
|
|
7
8
|
|
|
@@ -105,8 +106,8 @@ p+p {
|
|
|
105
106
|
margin-top: 1rem;
|
|
106
107
|
}
|
|
107
108
|
|
|
109
|
+
/// b tag in use on iframes
|
|
108
110
|
strong,
|
|
109
111
|
b {
|
|
110
|
-
// b tag in use on iframes
|
|
111
112
|
@include fontfamily-black;
|
|
112
113
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
$c-brand-art: hsl(329, 100%, 45%);
|
|
2
|
-
$c-brand-cinema: hsl(126, 62%, 33%);
|
|
3
|
-
$c-brand-classical: hsl(38, 53%, 38%);
|
|
4
|
-
$c-brand-contemporary: hsl(254, 44%, 33%);
|
|
5
|
-
$c-brand-generic: hsl(21, 100%, 41%);
|
|
6
|
-
$c-brand-membership: hsl(217, 72%, 53%);
|
|
7
|
-
$c-brand-programme: $c-grey-l21;
|
|
8
|
-
$c-brand-shop: hsl(168, 75%, 30%);
|
|
9
|
-
$c-brand-talks: hsl(214, 30%, 49%);
|
|
10
|
-
$c-brand-theatre: hsl(192, 99%, 31%);
|
|
11
|
-
|
|
12
|
-
$c-patron: $c-grey-l44;
|
|
13
|
-
$c-patron-light: hsl(0, 0%, 60%);
|
|
14
|
-
$c-principle: $c-brand-classical;
|
|
15
|
-
$c-principle-light: hsl(38, 53%, 53%);
|
|
16
|
-
|
|
17
|
-
$setup: (
|
|
18
|
-
contemporary-music: $c-brand-contemporary,
|
|
19
|
-
membership--support: $c-brand-membership,
|
|
20
|
-
tours--public-spaces: $c-brand-generic,
|
|
21
|
-
classical-music: $c-brand-classical,
|
|
22
|
-
talks--workshops: $c-brand-talks,
|
|
23
|
-
// deprecated
|
|
24
|
-
theatre--dance: $c-brand-theatre,
|
|
25
|
-
talks--events: $c-brand-talks,
|
|
26
|
-
art--design: $c-brand-art,
|
|
27
|
-
generic: $c-brand-generic,
|
|
28
|
-
library: $c-brand-generic,
|
|
29
|
-
cinema: $c-brand-cinema,
|
|
30
|
-
hire: $c-brand-generic,
|
|
31
|
-
programme: $c-brand-programme,
|
|
32
|
-
shop: $c-brand-shop,
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
$brands: (
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
@function map-brands($color) {
|
|
39
|
-
$map: (
|
|
40
|
-
shade-65: shade($color, 65%),
|
|
41
|
-
shade-20: shade($color, 20%),
|
|
42
|
-
shade-10: shade($color, 10%),
|
|
43
|
-
base: $color,
|
|
44
|
-
tint-40: tint($color, 40%),
|
|
45
|
-
tint-70: tint($color, 70%),
|
|
46
|
-
tint-85: tint($color, 85%),
|
|
47
|
-
tint-95: tint($color, 95%),
|
|
48
|
-
tint-98: tint($color, 98%),
|
|
49
|
-
);
|
|
50
|
-
@return $map;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@each $key, $value in $setup {
|
|
54
|
-
$map: (
|
|
55
|
-
);
|
|
56
|
-
$map: map-merge($map,
|
|
57
|
-
($key: map-brands($value),
|
|
58
|
-
));
|
|
59
|
-
$brands: map-merge($brands, $map);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@function brandColor($name, $variant: base) {
|
|
63
|
-
@return map-get(map-get($brands, $name), $variant);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
$c-background-alt: brandColor(generic, tint-95);
|
|
67
|
-
|
|
68
|
-
$c-brand-cinema-dark: brandColor(cinema, shade-20); // deprecated
|
|
69
|
-
$c-brand-shop-light: brandColor(shop, tint-85); // deprecated
|
|
70
|
-
$c-brand-shop-dark: brandColor(shop, shade-20); // deprecated
|
|
71
|
-
$c-brand-generic-s60-l99: brandColor(generic, tint-95); // faint deprecated
|
|
72
|
-
$c-brand-generic-s100-l95: brandColor(generic, tint-85); // light deprecated
|
|
73
|
-
$c-brand-generic-s50-l90: brandColor(generic, tint-70); // shade deprecated
|
|
74
|
-
$c-brand-generic-s100-l38: brandColor(generic, shade-10); // dark deprecated
|
|
75
|
-
$c-brand-generic-s100-l15: brandColor(generic, shade-65); // x-dark deprecated
|
|
76
|
-
|
|
77
|
-
$c-brand-classical-light: brandColor(classical-music, tint-95); // deprecated
|
|
78
|
-
$c-brand-classical-dark: brandColor(classical-music, shade-20); // deprecated
|
|
79
|
-
$c-brand-membership-dark: hsl(223, 87%, 21%);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|