mp-design-system 0.9.17 → 0.9.24
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/build/arc.a8e07ecd.svg +1 -0
- package/dist/build/crystal.a90c9e1f.svg +1 -0
- package/dist/build/dots-pattern.1b95f054.svg +1 -0
- package/dist/build/js/app.js +1 -1
- package/dist/build/js/app.js.map +1 -1
- package/dist/build/scss/library.css +1 -1
- package/dist/build/scss/library.css.map +1 -1
- package/dist/build/scss/main.css +1 -1
- package/dist/build/scss/main.css.map +1 -1
- package/package.json +1 -1
- package/src/_includes/components/accordion/accordion.md +1 -1
- package/src/_includes/components/breadcrumb/breadcrumb.config.js +6 -4
- package/src/_includes/components/breadcrumb/breadcrumb.njk +18 -2
- package/src/_includes/components/breadcrumb/breadcrumb.scss +69 -0
- package/src/_includes/components/button/button.config.js +6 -0
- package/src/_includes/components/button/button.scss +9 -0
- package/src/_includes/components/campaign/campaign.config.js +4 -2
- package/src/_includes/components/component/component.njk +2 -2
- package/src/_includes/components/gallery/gallery.config.js +34 -8
- package/src/_includes/components/gallery/gallery.md +1 -0
- package/src/_includes/components/gallery/gallery.njk +0 -1
- package/src/_includes/components/gallery/gallery.scss +7 -8
- package/src/_includes/components/input/radio.scss +21 -1
- package/src/_includes/components/post-meta/post-meta.njk +2 -2
- package/src/_includes/components/slat/slat.config.js +12 -0
- package/src/_includes/components/slat/slat.scss +14 -0
- package/src/_includes/components/table/table.config.js +7 -6
- package/src/_includes/components/table/table.md +16 -0
- package/src/_includes/components/table/table.scss +9 -0
- package/src/_includes/components/tabs/tabs.config.js +22 -3
- package/src/_includes/components/tabs/tabs.njk +1 -1
- package/src/_includes/components/tabs/tabs.scss +4 -0
- package/src/_includes/layout.njk +2 -1
- package/src/_includes/library-navigation/brand-nav.njk +1 -0
- package/src/_includes/library-navigation/components-nav.njk +1 -0
- package/src/assets/js/imports/accordion.js +0 -2
- package/src/assets/scss/components/index.scss +1 -0
- package/src/assets/scss/library.scss +6 -3
- package/src/assets/scss/objects/syntax-highlighting.scss +4 -0
- package/src/assets/scss/tools/cutoff.scss +21 -31
- package/src/assets/scss/utilities/flow.scss +1 -0
- package/src/assets/svg/arc.svg +1 -0
- package/src/assets/svg/crystal.svg +1 -0
- package/src/assets/svg/dots-pattern.svg +1 -1
- package/src/brand/illustration.md +8 -2
- package/src/brand/patterns.njk +43 -0
- package/src/brand/typography.md +12 -5
- package/src/components/creating-a-component.md +1 -1
- package/src/components/flow.njk +31 -18
- package/src/components/iconography.njk +1 -1
- package/src/components/installation.md +3 -1
- package/src/components/utilities.md +37 -11
- package/src/index.njk +7 -4
- package/src/prototype/product.njk +29 -19
- package/src/static/img/slide-4.webp +0 -0
- package/src/static/img/slide-5.webp +0 -0
- package/src/static/img/slide-6.webp +0 -0
- package/src/static/img/slide-7.webp +0 -0
- package/dist/build/dots-pattern.3c9c2a26.svg +0 -1
- package/src/_includes/components/campaign/campaign.md +0 -2
package/package.json
CHANGED
@@ -4,14 +4,16 @@ module.exports = {
|
|
4
4
|
name: 'breadcrumb',
|
5
5
|
},
|
6
6
|
context: {
|
7
|
-
|
8
|
-
|
7
|
+
links: [
|
8
|
+
{ link: '/en/services', label: 'Contract Research and Manufacturing...' },
|
9
|
+
{ link: '/en/services/pharmaceutical-drug-development', label: 'Pharmaceutical drug development...' },
|
10
|
+
{ link: '', label: 'Pre-clinical process research and...' },
|
11
|
+
]
|
9
12
|
},
|
10
13
|
props: [
|
11
14
|
{
|
12
15
|
table: [
|
13
|
-
['
|
14
|
-
['link', 'string'],
|
16
|
+
['links', 'link[]', '"link" and "label" objects']
|
15
17
|
]
|
16
18
|
}
|
17
19
|
]
|
@@ -1,3 +1,19 @@
|
|
1
|
-
{% from "components/
|
1
|
+
{% from "components/icon/macro.njk" import icon %}
|
2
|
+
|
3
|
+
<nav class="c-breadcrumb {{ params.classes }}" aria-label="Breadcrumb">
|
4
|
+
<ol class="c-breadcrumb__list" role="list">
|
5
|
+
{% for item in params.links %}
|
6
|
+
{% if loop.index < loop.length %}
|
7
|
+
<li class="c-breadcrumb__item" role="listitem">
|
8
|
+
<a href="{{ item.link }}" class="c-breadcrumb__link">{{ item.label }}</a>
|
9
|
+
{{ icon({ id: 'chevron-down' }) }}
|
10
|
+
</li>
|
11
|
+
{% else %}
|
12
|
+
<li class="c-breadcrumb__item" role="listitem">
|
13
|
+
<span class="c-breadcrumb__current" aria-current={{ item.label }}>{{ item.label}}</span>
|
14
|
+
</li>
|
15
|
+
{% endif %}
|
16
|
+
{% endfor %}
|
17
|
+
</ol>
|
18
|
+
</nav>
|
2
19
|
|
3
|
-
{{ twi({ icon: 'arrow-left', link: params.link, label: params.label, classes: 'u-link' }) }}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
.c-breadcrumb {
|
2
|
+
&__list {
|
3
|
+
@include padding-bottom("s-m");
|
4
|
+
display: flex;
|
5
|
+
overflow-x: auto;
|
6
|
+
}
|
7
|
+
|
8
|
+
&__item {
|
9
|
+
font-size: var(--step--2);
|
10
|
+
display: inline-flex;
|
11
|
+
align-items: center;
|
12
|
+
white-space: nowrap;
|
13
|
+
|
14
|
+
.c-icon {
|
15
|
+
@include margin-right("3xs");
|
16
|
+
@include margin-left("3xs");
|
17
|
+
color: color('grey', 'step-1');
|
18
|
+
transform: rotate(270deg);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
&__link {
|
23
|
+
color: color('utility-blue', 'step-1');
|
24
|
+
text-decoration: underline;
|
25
|
+
|
26
|
+
&:hover {
|
27
|
+
color: color('utility-blue', 'step-1');
|
28
|
+
text-decoration: none;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
&__current {
|
33
|
+
color: color('grey', 'step-1');
|
34
|
+
}
|
35
|
+
|
36
|
+
// color: color('utility-blue');
|
37
|
+
|
38
|
+
// &__wrap {
|
39
|
+
// position: relative;
|
40
|
+
|
41
|
+
// &:after {
|
42
|
+
// content: '';
|
43
|
+
// background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
|
44
|
+
// position: absolute;
|
45
|
+
// z-index: 1;
|
46
|
+
// height: 100%;
|
47
|
+
// right: 0;
|
48
|
+
// top: 0;
|
49
|
+
// @include space('width', 'l');
|
50
|
+
|
51
|
+
// @media (min-width: $wrapper) {
|
52
|
+
// display: none;
|
53
|
+
// }
|
54
|
+
// }
|
55
|
+
// }
|
56
|
+
|
57
|
+
// &__list {
|
58
|
+
// @include padding-bottom('m-l');
|
59
|
+
// @include margin-bottom('m-l');
|
60
|
+
// border-bottom: 1px solid color('petrol', 'step-2');
|
61
|
+
// white-space: nowrap;
|
62
|
+
// overflow-x: auto;
|
63
|
+
// display: flex;
|
64
|
+
|
65
|
+
// & > * + * {
|
66
|
+
// @include margin-left('m-l');
|
67
|
+
// }
|
68
|
+
// }
|
69
|
+
}
|
@@ -106,6 +106,15 @@
|
|
106
106
|
}
|
107
107
|
}
|
108
108
|
|
109
|
+
&--utility-blue {
|
110
|
+
background-color: color("utility-blue");
|
111
|
+
|
112
|
+
&:focus,
|
113
|
+
&:hover {
|
114
|
+
background-color: color("utility-blue", "step--1");
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
109
118
|
&--outline-white {
|
110
119
|
background: transparent;
|
111
120
|
color: color("white");
|
@@ -3,7 +3,6 @@ module.exports = {
|
|
3
3
|
component: {
|
4
4
|
name: 'campaign',
|
5
5
|
},
|
6
|
-
docs: true,
|
7
6
|
context: {
|
8
7
|
title: 'OmniTrust: Analytics you can trust.',
|
9
8
|
content: '<p>At last, a compliance breakthrough: Omnitrust joins up all your instruments and platforms, authorizes users, keeps all your data audit-ready – and is completely configurable to your workflow.</p>',
|
@@ -59,7 +58,10 @@ module.exports = {
|
|
59
58
|
{
|
60
59
|
title: 'CSS modifiers',
|
61
60
|
table: [
|
62
|
-
['c-campaign--switch', '', 'Switches the image from left to right']
|
61
|
+
['c-campaign--switch', '', 'Switches the image from left to right'],
|
62
|
+
['c-campaign--petrol', '', 'Petrol colour variant'],
|
63
|
+
['c-campaign--blue', '', 'Blue colour variant'],
|
64
|
+
['c-campaign--orange', '', 'Orange colour variant']
|
63
65
|
]
|
64
66
|
}
|
65
67
|
]
|
@@ -46,7 +46,7 @@
|
|
46
46
|
<thead>
|
47
47
|
<tr>
|
48
48
|
<th>Name</th>
|
49
|
-
<th>Type</th>
|
49
|
+
{% if propRows[0][1] %}<th>Type</th>{% endif %}
|
50
50
|
<th>Description</th>
|
51
51
|
</tr>
|
52
52
|
</thead>
|
@@ -54,7 +54,7 @@
|
|
54
54
|
{% for row in propRows %}
|
55
55
|
<tr>
|
56
56
|
<th>{{ row[0] }}</th>
|
57
|
-
<td>{{ row[1] }}</td>
|
57
|
+
{% if row[1] %}<td>{{ row[1] }}</td>{% endif %}
|
58
58
|
<td>{{ row[2] | safe }}</td>
|
59
59
|
</tr>
|
60
60
|
{% endfor %}
|
@@ -3,20 +3,24 @@ module.exports = {
|
|
3
3
|
component: {
|
4
4
|
name: 'gallery'
|
5
5
|
},
|
6
|
-
|
6
|
+
docs: true,
|
7
7
|
context: {
|
8
8
|
images: [
|
9
9
|
{
|
10
|
-
src: '/static/img/slide-
|
11
|
-
title: '
|
10
|
+
src: '/static/img/slide-4.webp',
|
11
|
+
title: 'Zetasizer slide 1'
|
12
12
|
},
|
13
13
|
{
|
14
|
-
src: '/static/img/slide-
|
15
|
-
title: '
|
14
|
+
src: '/static/img/slide-5.webp',
|
15
|
+
title: 'Zetasizer slide 2'
|
16
16
|
},
|
17
17
|
{
|
18
|
-
src: '/static/img/slide-
|
19
|
-
title: '
|
18
|
+
src: '/static/img/slide-6.webp',
|
19
|
+
title: 'Zetasizer slide 3'
|
20
|
+
},
|
21
|
+
{
|
22
|
+
src: '/static/img/slide-7.webp',
|
23
|
+
title: 'Zetasizer slide 4'
|
20
24
|
}
|
21
25
|
],
|
22
26
|
videos: [
|
@@ -25,5 +29,27 @@ module.exports = {
|
|
25
29
|
id: 'Q4H7EdHFghs'
|
26
30
|
}
|
27
31
|
]
|
28
|
-
}
|
32
|
+
},
|
33
|
+
props: [
|
34
|
+
{
|
35
|
+
table: [
|
36
|
+
['images', 'image[]', 'An array of images'],
|
37
|
+
['videos','video[]','An array of videos']
|
38
|
+
]
|
39
|
+
},
|
40
|
+
{
|
41
|
+
title: 'image',
|
42
|
+
table: [
|
43
|
+
['src','string'],
|
44
|
+
['title','string']
|
45
|
+
]
|
46
|
+
},
|
47
|
+
{
|
48
|
+
title: 'video',
|
49
|
+
table: [
|
50
|
+
['title','string'],
|
51
|
+
['id','string','Youtube ID']
|
52
|
+
]
|
53
|
+
}
|
54
|
+
]
|
29
55
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
Gallery images are displayed at 16:9 ratio, regardless of the image's true size. This prevents the component from unexpectedly changing size when switching between images.
|
@@ -1,4 +1,6 @@
|
|
1
1
|
.c-gallery {
|
2
|
+
max-height: 95vh;
|
3
|
+
|
2
4
|
img {
|
3
5
|
cursor: pointer;
|
4
6
|
}
|
@@ -10,13 +12,11 @@
|
|
10
12
|
width: 100%;
|
11
13
|
|
12
14
|
img {
|
15
|
+
aspect-ratio: 16 / 9;
|
13
16
|
display: block;
|
14
17
|
margin: 0 auto;
|
15
|
-
|
16
|
-
|
17
|
-
max-height: 500px;
|
18
|
-
object-fit: contain;
|
19
|
-
}
|
18
|
+
max-height: calc(95vh - 90px);
|
19
|
+
object-fit: contain;
|
20
20
|
}
|
21
21
|
|
22
22
|
&:not(.active) {
|
@@ -35,10 +35,9 @@
|
|
35
35
|
|
36
36
|
& > * {
|
37
37
|
background: color('grey', 'step-3');
|
38
|
-
@include space('min-height', 'l');
|
39
|
-
@include space('max-height', '2xl');
|
40
|
-
@include space('min-width', 'l');
|
41
38
|
max-width: 10.75%;
|
39
|
+
max-width: max(var(--space-xl), 10.75%);
|
40
|
+
aspect-ratio: 16 / 9;
|
42
41
|
|
43
42
|
img {
|
44
43
|
height: 100%;
|
@@ -32,7 +32,7 @@
|
|
32
32
|
&:checked + input[type=hidden] + label:before {
|
33
33
|
background: color('utility-blue');
|
34
34
|
}
|
35
|
-
|
35
|
+
|
36
36
|
&:checked + label:after,
|
37
37
|
&:checked + input[type=hidden] + label:after {
|
38
38
|
transform: translateX(6.5px) translateY(-1.5px) translateY(-50%) rotate(45deg);
|
@@ -47,6 +47,21 @@
|
|
47
47
|
}
|
48
48
|
}
|
49
49
|
|
50
|
+
.c-radio,
|
51
|
+
.c-checkbox {
|
52
|
+
& + label:hover:before,
|
53
|
+
& + input[type=hidden] + label:hover:before {
|
54
|
+
background-color: color('utility-blue','step-3');
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
.c-checkbox {
|
59
|
+
&:checked + label:hover:before,
|
60
|
+
&:checked + input[type=hidden] + label:hover:before {
|
61
|
+
background: color('utility-blue', 'step--1');
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
50
65
|
.c-radio {
|
51
66
|
& + label:before,
|
52
67
|
& + input[type=hidden] + label:before {
|
@@ -57,4 +72,9 @@
|
|
57
72
|
&:checked + input[type=hidden] + label:before {
|
58
73
|
box-shadow: inset 0 0 0 5px color('utility-blue');
|
59
74
|
}
|
75
|
+
|
76
|
+
&:checked + label:hover:before,
|
77
|
+
&:checked + input[type=hidden] + label:hover:before {
|
78
|
+
box-shadow: inset 0 0 0 5px color('utility-blue', 'step--1');
|
79
|
+
}
|
60
80
|
}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
{%- from "components/series/macro.njk" import series -%}
|
2
2
|
|
3
|
-
<div class="mp c-post-meta">
|
3
|
+
<div class="mp c-post-meta {{ "u-link-inside" if params.author }}">
|
4
4
|
{% if params.series %}
|
5
5
|
{{ series({
|
6
6
|
links: params.series
|
7
7
|
}) }}
|
8
8
|
{% endif %}
|
9
9
|
{% if params.author %}
|
10
|
-
<p>By <a
|
10
|
+
<p>By <a href="{{ params.author.link }}">{{ params.author.label | safe }}</a>, Wednesday 6 January 2021</p>
|
11
11
|
{% else %}
|
12
12
|
{{ params.content | safe }}
|
13
13
|
{% endif %}
|
@@ -37,6 +37,18 @@ module.exports = {
|
|
37
37
|
classes: 'c-slat c-slat--grey c-slat--dots'
|
38
38
|
}
|
39
39
|
},
|
40
|
+
{
|
41
|
+
title: 'Crystal',
|
42
|
+
context: {
|
43
|
+
classes: 'c-slat c-slat--grey c-slat--crystal'
|
44
|
+
}
|
45
|
+
},
|
46
|
+
{
|
47
|
+
title: 'Arc',
|
48
|
+
context: {
|
49
|
+
classes: 'c-slat c-slat--grey c-slat--arc'
|
50
|
+
}
|
51
|
+
},
|
40
52
|
{
|
41
53
|
title: 'Large padding',
|
42
54
|
context: {
|
@@ -27,6 +27,20 @@
|
|
27
27
|
background-position: left top;
|
28
28
|
background-size: auto 100%;
|
29
29
|
}
|
30
|
+
|
31
|
+
&--crystal {
|
32
|
+
background-image: url('../svg/crystal.svg');
|
33
|
+
background-repeat: no-repeat;
|
34
|
+
background-position: right bottom;
|
35
|
+
background-size: auto 100%;
|
36
|
+
}
|
37
|
+
|
38
|
+
&--arc {
|
39
|
+
background-image: url('../svg/arc.svg');
|
40
|
+
background-repeat: no-repeat;
|
41
|
+
background-position: right bottom;
|
42
|
+
background-size: auto 100%;
|
43
|
+
}
|
30
44
|
|
31
45
|
&--padded {
|
32
46
|
@include padding-bottom('l-2xl');
|
@@ -1,13 +1,14 @@
|
|
1
1
|
module.exports = {
|
2
2
|
title: 'Table',
|
3
|
+
docs: true,
|
3
4
|
component: {
|
4
5
|
name: 'table'
|
5
6
|
},
|
6
7
|
context: {
|
7
8
|
headers: ['Name', 'Description'],
|
8
9
|
rows: [
|
9
|
-
['
|
10
|
-
['
|
10
|
+
['Aeris', 'Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.'],
|
11
|
+
['OMNISEC', 'Nullam quis risus eget urna mollis ornare vel eu leo.']
|
11
12
|
]
|
12
13
|
},
|
13
14
|
variants: [
|
@@ -34,8 +35,8 @@ module.exports = {
|
|
34
35
|
context: {
|
35
36
|
classes: 'c-table--center',
|
36
37
|
rows: [
|
37
|
-
['
|
38
|
-
['
|
38
|
+
['Aeris', 'Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.<br />Vestibulum id ligula porta felis euismod semper.<br />Sed posuere consectetur est at lobortis.'],
|
39
|
+
['OMNISEC', 'Nullam quis risus eget urna mollis ornare vel eu leo.']
|
39
40
|
]
|
40
41
|
}
|
41
42
|
},
|
@@ -51,8 +52,8 @@ module.exports = {
|
|
51
52
|
classes: 'c-table--responsive',
|
52
53
|
headers: ['Name', 'Type', 'Description'],
|
53
54
|
rows: [
|
54
|
-
['
|
55
|
-
['
|
55
|
+
['Aeris', 'Value 1.1', 'Value 1.2'],
|
56
|
+
['OMNISEC', 'Value 2.1', 'Value 2.2'],
|
56
57
|
]
|
57
58
|
}
|
58
59
|
},
|
@@ -0,0 +1,16 @@
|
|
1
|
+
## Responsive variant
|
2
|
+
|
3
|
+
For the `.c-table--responsive` variant to display correctly, give each `<td>` element a `data-responsive-title` attribute, corresponding to the column headers. E.g. for a two-column table where the column headers are "Name" and "Description", the `<td>`s should be marked up as follows:
|
4
|
+
|
5
|
+
```html
|
6
|
+
<tbody>
|
7
|
+
<tr>
|
8
|
+
<td data-responsive-title="Name">Aeris</td>
|
9
|
+
<td data-responsive-title="Description">Vivamus sagittis lacus vel</td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td data-responsive-title="Name">OMNISEC</td>
|
13
|
+
<td data-responsive-title="Description">Nullam quis risus eget urna</td>
|
14
|
+
</tr>
|
15
|
+
</tbody>
|
16
|
+
```
|
@@ -8,8 +8,11 @@ module.exports = {
|
|
8
8
|
context: {
|
9
9
|
type: 'anchor',
|
10
10
|
tabs: [
|
11
|
-
{ id: 'tab-1', label: '
|
12
|
-
{ id: 'tab-2', label: '
|
11
|
+
{ id: 'tab-1', label: 'Primary materials', content: '<h2 class="c-h c-h--step-3">Primary materials</h2>', active: true },
|
12
|
+
{ id: 'tab-2', label: 'Pharmaceuticals', content: '<h2 class="c-h c-h--step-3">Pharmaceuticals</h2>' },
|
13
|
+
{ id: 'tab-3', label: 'Advanced materials', content: '<h2 class="c-h c-h--step-3">Advanced materials</h2>' },
|
14
|
+
{ id: 'tab-4', label: 'Academia', content: '<h2 class="c-h c-h--step-3">Academia</h2>' },
|
15
|
+
{ id: 'tab-5', label: 'Connected world', content: '<h2 class="c-h c-h--step-3">Connected world</h2>' },
|
13
16
|
]
|
14
17
|
},
|
15
18
|
props: [
|
@@ -31,8 +34,24 @@ module.exports = {
|
|
31
34
|
{
|
32
35
|
title: 'CSS modifiers',
|
33
36
|
table: [
|
34
|
-
['c-tabs--flex', '', 'Instead of \'block\', display the active tabs as \'flex\'']
|
37
|
+
['c-tabs--flex', '', 'Instead of \'block\', display the active tabs as \'flex\''],
|
38
|
+
['c-tabs--persist', '', 'Add a URL fragment (aka hashtag) to the browser URL']
|
35
39
|
]
|
40
|
+
},
|
41
|
+
{
|
42
|
+
title: 'Utilities',
|
43
|
+
table: [
|
44
|
+
['u-scroll-shadows--h','','When the tab row is too wide for the screen, scroll indicators are displayed']
|
45
|
+
]
|
46
|
+
}
|
47
|
+
],
|
48
|
+
variants: [
|
49
|
+
{
|
50
|
+
title: 'Scroll shadows',
|
51
|
+
context: {
|
52
|
+
shadows: true
|
53
|
+
},
|
54
|
+
preview: 'cards-three'
|
36
55
|
}
|
37
56
|
]
|
38
57
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="mp c-tabs {{ 'c-tabs--' + params.type if params.type }}">
|
2
|
-
<nav class="c-tabs__controls">
|
2
|
+
<nav class="c-tabs__controls {{ "u-scroll-shadows--h" if params.shadows }}">
|
3
3
|
<ul class="c-tabs__controls-list">
|
4
4
|
{% for tab in params.tabs %}
|
5
5
|
<li><a class="c-tabs__control {{ 'c-tabs__control--active' if tab.active }}" href="#{{ tab.id }}">{{ tab.label }}</a></li>
|
package/src/_includes/layout.njk
CHANGED
@@ -35,7 +35,8 @@
|
|
35
35
|
};
|
36
36
|
};
|
37
37
|
var resizeSidebar = debounce(function() {
|
38
|
-
var
|
38
|
+
var header = document.querySelector('.c-library__header');
|
39
|
+
var headerHeight = header && header.offsetHeight + 'px';
|
39
40
|
document.documentElement.style.setProperty('--headerHeight', headerHeight)
|
40
41
|
}, 250);
|
41
42
|
</script>
|
@@ -12,6 +12,7 @@
|
|
12
12
|
{{ libraryList('Typography', '/brand/typography/', page.url) }}
|
13
13
|
{{ libraryList('Photography', '/brand/images/', page.url) }}
|
14
14
|
{{ libraryList('Illustration', '/brand/illustration/', page.url) }}
|
15
|
+
{{ libraryList('Patterns', '/brand/patterns/', page.url) }}
|
15
16
|
</ul>
|
16
17
|
{# <h3>Brand identity</h3>
|
17
18
|
<ul>
|
@@ -31,6 +31,7 @@
|
|
31
31
|
{{ libraryList('Flow', '/components/flow/', page.url) }}
|
32
32
|
{{ libraryList('Iconography', '/components/iconography/', page.url) }}
|
33
33
|
{{ libraryList('Approach to CSS', '/components/css/', page.url) }}
|
34
|
+
{{ libraryList('Utilities', '/components/utilities/', page.url) }}
|
34
35
|
</ul>
|
35
36
|
</div>
|
36
37
|
|
@@ -75,7 +75,7 @@
|
|
75
75
|
|
76
76
|
@media only screen and (min-width: 600px) {
|
77
77
|
&--components &__body > * {
|
78
|
-
overflow-y:
|
78
|
+
overflow-y: auto;
|
79
79
|
height: calc( 100vh - var(--headerHeight) - 1px );
|
80
80
|
}
|
81
81
|
}
|
@@ -253,7 +253,10 @@
|
|
253
253
|
width: 100%;
|
254
254
|
left: 0;
|
255
255
|
top: 0;
|
256
|
-
transition:
|
256
|
+
transition:
|
257
|
+
padding .3s cubic-bezier(0.22, 0.61, 0.36, 1),
|
258
|
+
background-color .3s cubic-bezier(0.22, 0.61, 0.36, 1);
|
259
|
+
resize: both;
|
257
260
|
|
258
261
|
@media only screen and (min-width: 600px) {
|
259
262
|
position: absolute;
|
@@ -579,7 +582,7 @@
|
|
579
582
|
grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
|
580
583
|
gap:var(--gutter);
|
581
584
|
|
582
|
-
& :nth-child(odd):nth-last-child(
|
585
|
+
& :nth-child(odd):nth-last-child(5) {
|
583
586
|
grid-column: 1/-1;
|
584
587
|
}
|
585
588
|
}
|