mp-design-system 1.2.62 → 1.2.64
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/dist/build/js/app.js +22 -2
- package/dist/build/scss/library.css +1 -2
- package/dist/build/scss/main.css +1 -2
- package/package.json +12 -6
- package/src/_includes/components/card/card.scss +1 -0
- package/src/_includes/components/card/product-card.njk +8 -0
- package/src/_includes/components/card-new/card-new.config.js +95 -0
- package/src/_includes/components/card-new/card-new.md +0 -0
- package/src/_includes/components/card-new/card-new.njk +169 -0
- package/src/_includes/components/card-new/card-new.scss +156 -0
- package/src/_includes/components/card-new/macro.njk +5 -0
- package/src/_includes/components/event-card/event-card.config.js +108 -0
- package/src/_includes/components/event-card/event-card.njk +1 -0
- package/src/_includes/components/event-card/event-card.scss +49 -0
- package/src/_includes/components/event-card/macro.njk +5 -0
- package/src/_includes/components/product-card/macro.njk +5 -0
- package/src/_includes/components/product-card/product-card.config.js +84 -0
- package/src/_includes/components/product-card/product-card.njk +1 -0
- package/src/_includes/components/product-card/product-card.scss +36 -0
- package/src/_includes/components/resource-card/macro.njk +5 -0
- package/src/_includes/components/resource-card/resource-card.config.js +59 -0
- package/src/_includes/components/resource-card/resource-card.njk +1 -0
- package/src/_includes/components/resource-card/resource-card.scss +0 -0
- package/src/_includes/components/twi/twi.scss +14 -0
- package/src/_includes/includes/system-scripts.njk +13 -0
- package/src/_includes/layout.njk +1 -1
- package/src/_includes/system-home-page.njk +1 -1
- package/src/assets/scss/components/index.scss +3 -0
- package/src/assets/scss/library.scss +94 -67
- package/src/assets/scss/objects/button-wrap.scss +18 -0
- package/src/assets/scss/objects/clickable-parent.scss +3 -0
- package/src/assets/scss/objects/index.scss +2 -0
- package/src/assets/scss/objects/prose.scss +5 -0
- package/src/assets/scss/tools/index.scss +1 -0
- package/src/components-full-pages.njk +2 -3
- package/src/components-pages.njk +5 -4
- package/src/index.njk +1 -86
- package/src/prototype/events-hub.njk +10 -9
- package/src/prototype/index.njk +330 -201
- package/src/prototype/range.njk +23 -12
- package/dist/build/arc.abe174a6.svg +0 -1
- package/dist/build/concentric.465e6b4d.svg +0 -1
- package/dist/build/crystal.8300dbe3.svg +0 -1
- package/dist/build/dots-pattern.1bae0e23.svg +0 -1
- package/dist/build/js/app.js.map +0 -1
- package/dist/build/scss/library.css.map +0 -1
- package/dist/build/scss/main.css.map +0 -1
package/package.json
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"name": "mp-design-system",
|
3
|
-
"version": "1.2.
|
3
|
+
"version": "1.2.64",
|
4
4
|
"description": "",
|
5
5
|
"scripts": {
|
6
6
|
"dev": "npm-run-all --parallel bundle:*",
|
7
7
|
"bundle:eleventy": "eleventy --serve --quiet",
|
8
|
-
"bundle:
|
8
|
+
"bundle:vite": "vite build",
|
9
9
|
"build": "run-s prod:*",
|
10
10
|
"prod:eleventy": "eleventy",
|
11
|
-
"prod:
|
12
|
-
"prepublishOnly": "rimraf dist && npm run prod:
|
11
|
+
"prod:vite": "rimraf dist/build && vite build",
|
12
|
+
"prepublishOnly": "rimraf dist && npm run prod:vite"
|
13
13
|
},
|
14
14
|
"files": [
|
15
15
|
"src",
|
@@ -22,19 +22,25 @@
|
|
22
22
|
"@11ty/eleventy": "^2.0.1",
|
23
23
|
"@11ty/eleventy-plugin-syntaxhighlight": "^3.2.2",
|
24
24
|
"@parcel/transformer-sass": "^2.4.0",
|
25
|
+
"@vitejs/plugin-vue": "^3.0.0",
|
25
26
|
"dotenv": "^8.6.0",
|
26
27
|
"html-prettify": "^1.0.6",
|
27
28
|
"markdown-it": "^12.3.2",
|
28
29
|
"markdown-it-prism": "^2.2.3",
|
29
30
|
"npm-run-all": "^4.1.5",
|
30
|
-
"parcel": "^2.4.0",
|
31
31
|
"require-glob": "^4.1.0",
|
32
32
|
"rimraf": "^3.0.2",
|
33
33
|
"sass": "^1.71.0",
|
34
|
-
"slugify": "^1.6.5"
|
34
|
+
"slugify": "^1.6.5",
|
35
|
+
"vite": "^3.0.0",
|
36
|
+
"vite-plugin-sass-dts": "^1.3.29"
|
35
37
|
},
|
36
38
|
"alias": {
|
37
39
|
"mp": "./node_modules/mp-design-system/src/assets/scss",
|
38
40
|
"comp": "./src/_includes/components"
|
41
|
+
},
|
42
|
+
"dependencies": {
|
43
|
+
"@vitejs/plugin-vue": "^5.2.1",
|
44
|
+
"vite": "^6.0.3"
|
39
45
|
}
|
40
46
|
}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
{%- from "components/button/macro.njk" import button -%}
|
2
2
|
{%- from "components/twi/macro.njk" import twi -%}
|
3
|
+
{%- from "components/prose/macro.njk" import prose -%}
|
3
4
|
|
4
5
|
{%- set classes = 'mp c-product-card' -%}
|
5
6
|
|
@@ -15,6 +16,13 @@
|
|
15
16
|
{% if params.description | length %}
|
16
17
|
<p class="c-product-card__lede">{{ params.description }}</p>
|
17
18
|
{% endif %}
|
19
|
+
{% if params.description | length %}
|
20
|
+
{{ prose({
|
21
|
+
wrap: '',
|
22
|
+
classes: 'u-step--1',
|
23
|
+
content: params.description
|
24
|
+
}) }}
|
25
|
+
{% endif %}
|
18
26
|
{% if params.features | length %}
|
19
27
|
<p class="c-product-card__features-list-heading">Features include</p>
|
20
28
|
<ul class="c-product-card__features-list">
|
@@ -0,0 +1,95 @@
|
|
1
|
+
const categories = require('../component/categories');
|
2
|
+
|
3
|
+
module.exports = {
|
4
|
+
title: 'NEW Card',
|
5
|
+
component: {
|
6
|
+
name: 'card-new',
|
7
|
+
},
|
8
|
+
category: categories.card,
|
9
|
+
context: {
|
10
|
+
type: 'generic',
|
11
|
+
theme: 'bordered',
|
12
|
+
size: 'medium',
|
13
|
+
header: {
|
14
|
+
title: 'Mining and minerals'
|
15
|
+
},
|
16
|
+
body: {
|
17
|
+
content: `<p>Explore the world of iron, base metals, bauxite, clay, coal, industrial minerals and precious metals in 3D.</p>`
|
18
|
+
},
|
19
|
+
image: {
|
20
|
+
src: '/static/img/sector-3.jpg',
|
21
|
+
alt: 'Alt text'
|
22
|
+
},
|
23
|
+
link: {
|
24
|
+
label: 'View industry',
|
25
|
+
url: '#'
|
26
|
+
}
|
27
|
+
},
|
28
|
+
variants: [
|
29
|
+
{
|
30
|
+
title: 'Blog post',
|
31
|
+
context: {
|
32
|
+
theme: 'alt',
|
33
|
+
header: {
|
34
|
+
title: 'The future is 3D',
|
35
|
+
date: {
|
36
|
+
date: new Date(2021,10,18)
|
37
|
+
}
|
38
|
+
},
|
39
|
+
body: {
|
40
|
+
content: `<p>Materials characterisation will help "additive manufacturing" change how we make things forever.</p>`
|
41
|
+
},
|
42
|
+
body: {
|
43
|
+
keySpecs: [
|
44
|
+
{
|
45
|
+
title: 'Products',
|
46
|
+
term: 'Morphologi G3-ID'
|
47
|
+
},
|
48
|
+
{
|
49
|
+
title: 'Technologies',
|
50
|
+
term: 'Morphologically-directed Raman spectroscopy (MDRS)'
|
51
|
+
}
|
52
|
+
]
|
53
|
+
},
|
54
|
+
image: {
|
55
|
+
src: '/static/img/case-study-1.jpg',
|
56
|
+
alt: 'Alt text'
|
57
|
+
},
|
58
|
+
link: {
|
59
|
+
label: 'Read the blog post',
|
60
|
+
url: '#'
|
61
|
+
}
|
62
|
+
}
|
63
|
+
},
|
64
|
+
{
|
65
|
+
title: 'Software download',
|
66
|
+
context: {
|
67
|
+
theme: 'alt',
|
68
|
+
header: {
|
69
|
+
title: 'NanoSight NTA software update 3.4.4',
|
70
|
+
meta: ['05 October 2020']
|
71
|
+
},
|
72
|
+
body: {
|
73
|
+
content: `<p>Capture</p><ul>
|
74
|
+
<li>USB camera support.</li></ul>
|
75
|
+
<p>Other</p><ul>
|
76
|
+
<li>Improved logging: Instrument log files will no longer be overwritten at the start of each day.</li>
|
77
|
+
<li>Improved handling of corrupt/unreadable video files.</li>
|
78
|
+
<li>New script comman for automated/unattended data export.</li>
|
79
|
+
<li>Resolved HASP issues in Windows 10 (Version 2004)</li>
|
80
|
+
</ul>`
|
81
|
+
},
|
82
|
+
image: false,
|
83
|
+
footer: {
|
84
|
+
buttons: [
|
85
|
+
{
|
86
|
+
link: '#',
|
87
|
+
label: 'Download',
|
88
|
+
classes: 'c-button--inline'
|
89
|
+
},
|
90
|
+
]
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
]
|
95
|
+
}
|
File without changes
|
@@ -0,0 +1,169 @@
|
|
1
|
+
{%- from "components/button/macro.njk" import button -%}
|
2
|
+
{%- from "components/twi/macro.njk" import twi -%}
|
3
|
+
{%- from "components/prose/macro.njk" import prose -%}
|
4
|
+
|
5
|
+
{% set header = params.header %}
|
6
|
+
|
7
|
+
{% set classNames = '' %}
|
8
|
+
{% if params.type %}
|
9
|
+
{% set classNames = classNames + ' c-card-new--' + params.type %}
|
10
|
+
{% endif %}
|
11
|
+
{% if params.theme %}
|
12
|
+
{% set classNames = classNames + ' c-card-new--' + params.theme %}
|
13
|
+
{% endif %}
|
14
|
+
{% if params.size %}
|
15
|
+
{% set classNames = classNames + ' c-card-new--' + params.size %}
|
16
|
+
{% endif %}
|
17
|
+
|
18
|
+
{% set buttonSize = 'c-button--small' %}
|
19
|
+
{% if params.size == 'large '%}
|
20
|
+
{% set buttonSize = '' %}
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
{% if header.location %}
|
24
|
+
{% if header.location == 'Virtual' %}
|
25
|
+
{% set locationIcon = 'monitor' %}
|
26
|
+
{% else %}
|
27
|
+
{% set locationIcon = 'map-pin' %}
|
28
|
+
{% endif %}
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% set isPast = header.date.date | isInPast %}
|
32
|
+
{% set footerClass = 'o-button-wrap' if params.footer.buttons | length %}
|
33
|
+
|
34
|
+
<article class="mp c-card-new {{classNames}}">
|
35
|
+
{% if params.tag %}<p class="c-card__tag">{{params.tag}}</p>{% endif %}
|
36
|
+
<div class="c-card-new__inner">
|
37
|
+
<div class="c-card-new__body">
|
38
|
+
{% if header %}
|
39
|
+
<header class="c-card-new__header">
|
40
|
+
{% if header.date and not isPast %}
|
41
|
+
<time class="c-card__datetime">
|
42
|
+
<span class="c-card__day">{{header.date.date.getDate()}}</span>
|
43
|
+
<span class="c-card__month">{{header.date.date.getMonth() | months}}</span>
|
44
|
+
</time>
|
45
|
+
{% endif %}
|
46
|
+
{% if header.time or header.duration or header.location or header.language or header.meta or isPast %}
|
47
|
+
<p class="c-card__meta">
|
48
|
+
{% if header.duration %}
|
49
|
+
{{ twi({
|
50
|
+
icon: 'play',
|
51
|
+
label: header.duration
|
52
|
+
}) }}
|
53
|
+
{% endif %}
|
54
|
+
{% if isPast %}
|
55
|
+
<span>{{header.date.date | formatLong}}</span>
|
56
|
+
{% endif %}
|
57
|
+
{% if header.date.time and header.date.timezone %}
|
58
|
+
<span>
|
59
|
+
{{header.date.time}} {{header.date.timezone}}
|
60
|
+
</span>
|
61
|
+
{% endif %}
|
62
|
+
{% if header.location %}
|
63
|
+
{{ twi({
|
64
|
+
icon: locationIcon,
|
65
|
+
label: header.location
|
66
|
+
}) }}
|
67
|
+
{% endif %}
|
68
|
+
{% if header.language and not header.location %}
|
69
|
+
<span>{{header.language}}</span>
|
70
|
+
{% endif %}
|
71
|
+
{% if header.meta %}
|
72
|
+
{% for item in header.meta %}
|
73
|
+
<span>{{item}}</span>
|
74
|
+
{% endfor %}
|
75
|
+
{% endif %}
|
76
|
+
</p>
|
77
|
+
{% endif %}
|
78
|
+
<h2 class="c-h c-card-new__title">
|
79
|
+
{% if params.link and not params.footer.buttons | length %}<a class="o-clickable-parent" href="{{params.link.url}}">{% endif %}
|
80
|
+
{{header.title}}
|
81
|
+
{% if params.link and not params.footer.buttons | length %}</a>{% endif %}
|
82
|
+
</h2>
|
83
|
+
{% if header.subtitle %}
|
84
|
+
<h3 class="c-h c-h--tagline">{{header.subtitle}}</h3>
|
85
|
+
{% endif %}
|
86
|
+
</header>
|
87
|
+
{% endif %}
|
88
|
+
{% if params.body.content %}
|
89
|
+
{% if not params.body.prose %}
|
90
|
+
{{ params.body.content | safe }}
|
91
|
+
{% else %}
|
92
|
+
{{ prose({
|
93
|
+
wrap: '',
|
94
|
+
classes: 'u-step--1',
|
95
|
+
content: params.body.content
|
96
|
+
}) }}
|
97
|
+
{% endif %}
|
98
|
+
{% endif %}
|
99
|
+
{% if params.list %}
|
100
|
+
<ul class="c-features-list">
|
101
|
+
{% for item in params.list %}
|
102
|
+
<li>
|
103
|
+
{% if item.icon %}
|
104
|
+
{% if not item.classes %}
|
105
|
+
{% if item.icon == "tick" %}
|
106
|
+
{% set iconColour = 'c-twi--green' %}
|
107
|
+
{% endif %}
|
108
|
+
{% if item.icon == "cross" %}
|
109
|
+
{% set iconColour = 'c-twi--grey' %}
|
110
|
+
{% endif %}
|
111
|
+
{% endif %}
|
112
|
+
{{ twi({
|
113
|
+
icon: item.icon,
|
114
|
+
label: item.label,
|
115
|
+
classes: iconColour or item.classes
|
116
|
+
}) }}
|
117
|
+
{% else %}
|
118
|
+
{{item.label}}
|
119
|
+
{% endif %}
|
120
|
+
</li>
|
121
|
+
{% endfor %}
|
122
|
+
</ul>
|
123
|
+
{% endif %}
|
124
|
+
{% if params.body.keySpecs | length %}
|
125
|
+
<div class="c-card__specs">
|
126
|
+
{% for spec in params.body.keySpecs %}
|
127
|
+
<dl>
|
128
|
+
<dt>{{ spec.title }}:</dt>
|
129
|
+
{% if spec.term %}
|
130
|
+
<dd>{{ spec.term | safe }}</dd>
|
131
|
+
{% else %}
|
132
|
+
{% for term in spec.terms %}
|
133
|
+
<dd>{{ term | safe }}</dd>
|
134
|
+
{% endfor %}
|
135
|
+
{% endif %}
|
136
|
+
</dl>
|
137
|
+
{% endfor %}
|
138
|
+
</div>
|
139
|
+
{% endif %}
|
140
|
+
{% if params.footer.buttons %}
|
141
|
+
<footer class="c-card-new__footer {{footerClass}}">
|
142
|
+
{% for item in params.footer.buttons %}
|
143
|
+
{{ button({
|
144
|
+
label: item.label,
|
145
|
+
colour: item.colour,
|
146
|
+
classes: buttonSize,
|
147
|
+
link: item.link
|
148
|
+
}) }}
|
149
|
+
{% endfor %}
|
150
|
+
</footer>
|
151
|
+
{% elseif params.link.label %}
|
152
|
+
<footer class="c-card-new__footer ">
|
153
|
+
{{ twi({
|
154
|
+
label: params.link.label,
|
155
|
+
link: params.link.url,
|
156
|
+
classes: 'u-link'
|
157
|
+
}) }}
|
158
|
+
</footer>
|
159
|
+
{% endif %}
|
160
|
+
</div>
|
161
|
+
{% if params.image %}
|
162
|
+
{% if params.link or params.type !== 'generic' %}<a class="c-card-new__image" href="{{params.link.url}}">{% endif %}
|
163
|
+
<figure>
|
164
|
+
<img src="{{params.image.src}}" alt="{{params.image.alt or 'Alt'}}">
|
165
|
+
</figure>
|
166
|
+
{% if params.link or params.type !== 'generic' %}</a>{% endif %}
|
167
|
+
{% endif %}
|
168
|
+
</div>
|
169
|
+
</article>
|
@@ -0,0 +1,156 @@
|
|
1
|
+
// 'Breakpoints' for cards -
|
2
|
+
// Basically 'S' is usually portrait, and 'M' is usually landscape
|
3
|
+
// This system can be replaced by style queries, when that has
|
4
|
+
// better browser support
|
5
|
+
$card-s: 25ch;
|
6
|
+
$card-m: 45ch;
|
7
|
+
$card-l: 70em;
|
8
|
+
|
9
|
+
.c-card-new {
|
10
|
+
background-color: color('white');
|
11
|
+
container-name: card;
|
12
|
+
container-type: inline-size;
|
13
|
+
display: flex;
|
14
|
+
@include step(-1);
|
15
|
+
position: relative;
|
16
|
+
}
|
17
|
+
|
18
|
+
.c-card-new__inner {
|
19
|
+
display: flex;
|
20
|
+
flex-direction: column-reverse;
|
21
|
+
flex-grow: 1;
|
22
|
+
position: relative;
|
23
|
+
--layout: single;
|
24
|
+
|
25
|
+
@container card (width > #{$card-m}) {
|
26
|
+
--layout: multi;
|
27
|
+
flex-direction: row;
|
28
|
+
.c-card-new--product &,
|
29
|
+
.c-card-new--switch & {
|
30
|
+
flex-direction: row-reverse;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
& > * {
|
35
|
+
flex: 1;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Color themes
|
39
|
+
.c-card-new--bordered & {
|
40
|
+
border: 1px solid color("petrol", "step-2");
|
41
|
+
}
|
42
|
+
|
43
|
+
.c-card-new--alt & {
|
44
|
+
background-color: color('petrol','step-3');
|
45
|
+
}
|
46
|
+
|
47
|
+
.c-card-new--dark & {
|
48
|
+
background-color: color('petrol');
|
49
|
+
color: color('white');
|
50
|
+
|
51
|
+
.c-card__datetime,
|
52
|
+
.c-card__meta {
|
53
|
+
color: color('petrol', 'step-2');
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
.c-card-new--shadowed & {
|
58
|
+
@include space('--shadow-r', 'xs');
|
59
|
+
@include space('--shadow-b', 's');
|
60
|
+
box-shadow: 0 var(--shadow-r) var(--shadow-b) 0 rgba(color('grey'), 20%);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
.c-card-new__header {
|
65
|
+
@include flow('xs');
|
66
|
+
}
|
67
|
+
|
68
|
+
:not(.c-card-new--resource).c-card-new--small .c-card__meta {
|
69
|
+
@container card (width < #{$card-m}) {
|
70
|
+
display: none;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
.c-card-new__body {
|
75
|
+
@include flow('s');
|
76
|
+
@include padding('s-m');
|
77
|
+
|
78
|
+
display: flex;
|
79
|
+
flex-direction: column;
|
80
|
+
|
81
|
+
@container card (width > #{$card-m}) {
|
82
|
+
min-width: 30ch;
|
83
|
+
}
|
84
|
+
|
85
|
+
@container card (width > #{$card-l}) {
|
86
|
+
@include padding('m-l');
|
87
|
+
}
|
88
|
+
|
89
|
+
.c-card-new--small & {
|
90
|
+
@include padding('xs');
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
.c-card-new__title {
|
95
|
+
@include step(0);
|
96
|
+
|
97
|
+
@container card (width > #{$card-m}) {
|
98
|
+
.c-card-new:not(.c-card-new--small) & {
|
99
|
+
@include step(3);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
.c-card-new__image {
|
105
|
+
flex-grow: 0;
|
106
|
+
position: relative;
|
107
|
+
|
108
|
+
@container card (width > #{$card-m}) {
|
109
|
+
flex-basis: 33%;
|
110
|
+
}
|
111
|
+
|
112
|
+
.c-card-new:not(.c-card-new--small) & {
|
113
|
+
@container (width > #{$card-l}) {
|
114
|
+
flex-basis: 61%;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
img {
|
119
|
+
height: 100%;
|
120
|
+
object-fit: cover;
|
121
|
+
object-position: center;
|
122
|
+
position: absolute;
|
123
|
+
width: 100%;
|
124
|
+
|
125
|
+
@container card (width < #{$card-m}) {
|
126
|
+
aspect-ratio: 2;
|
127
|
+
position: static !important;
|
128
|
+
// @include padding('s-m');
|
129
|
+
// padding-bottom: 0;
|
130
|
+
}
|
131
|
+
|
132
|
+
.c-card-new--small:not(.c-card-new--product) & {
|
133
|
+
@container card (width < #{$card-m}) {
|
134
|
+
aspect-ratio: 3;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
}
|
140
|
+
|
141
|
+
.c-card-new__footer {
|
142
|
+
.o-grid & {
|
143
|
+
margin-top: auto;
|
144
|
+
@include padding-top('s');
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
.c-card-new .c-button {
|
149
|
+
@container card (width > #{$card-s}) {
|
150
|
+
white-space: nowrap;
|
151
|
+
}
|
152
|
+
|
153
|
+
@container card (width < #{$card-m}) {
|
154
|
+
flex: 1;
|
155
|
+
}
|
156
|
+
}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
const categories = require('../component/categories');
|
2
|
+
|
3
|
+
module.exports = {
|
4
|
+
title: 'NEW Event card',
|
5
|
+
component: {
|
6
|
+
name: 'event-card',
|
7
|
+
},
|
8
|
+
category: categories.card,
|
9
|
+
context: {
|
10
|
+
type: 'event',
|
11
|
+
theme: 'alt',
|
12
|
+
size: 'medium',
|
13
|
+
header: {
|
14
|
+
title: 'Zetium ED X-ray fluorescence SuperQ application course',
|
15
|
+
date: {
|
16
|
+
date: new Date(new Date().getTime() + 24 * 60 * 60 * 1000),
|
17
|
+
time: '11:30 - 12:30',
|
18
|
+
timezone: 'GMT',
|
19
|
+
},
|
20
|
+
location: 'Virtual',
|
21
|
+
meta: ['English']
|
22
|
+
},
|
23
|
+
tag: 'Live webinar',
|
24
|
+
body: {
|
25
|
+
keySpecs: [
|
26
|
+
{
|
27
|
+
title: 'Products',
|
28
|
+
term: 'Zetium'
|
29
|
+
},
|
30
|
+
{
|
31
|
+
title: 'Technologies',
|
32
|
+
terms: ['X-ray fluorescence spectronomy (XRF)','ED-XRF']
|
33
|
+
}
|
34
|
+
]
|
35
|
+
},
|
36
|
+
footer: {
|
37
|
+
buttons: [
|
38
|
+
{
|
39
|
+
link: '#',
|
40
|
+
label: 'Book your place'
|
41
|
+
}
|
42
|
+
]
|
43
|
+
},
|
44
|
+
image: {
|
45
|
+
src: 'https://p3.aprimocdn.net/malvernpanalytical/86aad13f-9f20-4a18-8a2e-adea010ae3d9/shutterstock_111870260_Low-res.JPG',
|
46
|
+
alt: 'Alt text'
|
47
|
+
}
|
48
|
+
},
|
49
|
+
variants: [
|
50
|
+
{
|
51
|
+
title: 'Small',
|
52
|
+
context: {
|
53
|
+
size: 'small',
|
54
|
+
specs: false,
|
55
|
+
footer: false,
|
56
|
+
}
|
57
|
+
},
|
58
|
+
{
|
59
|
+
title: 'Dark',
|
60
|
+
context: {
|
61
|
+
theme: 'dark',
|
62
|
+
header: {
|
63
|
+
title: 'Zetium ED X-ray fluorescence SuperQ application course',
|
64
|
+
date: {
|
65
|
+
date: new Date(new Date().getTime() + 24 * 60 * 60 * 1000),
|
66
|
+
time: '11:30 - 12:30',
|
67
|
+
timezone: 'EDT',
|
68
|
+
},
|
69
|
+
location: 'Westborough MA',
|
70
|
+
meta: ['English']
|
71
|
+
},
|
72
|
+
tag: 'User training',
|
73
|
+
}
|
74
|
+
},
|
75
|
+
{
|
76
|
+
title: 'Shadowed',
|
77
|
+
context: {
|
78
|
+
theme: 'shadowed',
|
79
|
+
size: 'small',
|
80
|
+
specs: false,
|
81
|
+
footer: false,
|
82
|
+
}
|
83
|
+
},
|
84
|
+
{
|
85
|
+
title: 'Recorded',
|
86
|
+
context: {
|
87
|
+
header: {
|
88
|
+
title: 'XRF analysis in the process control of battery cathode manufacturing',
|
89
|
+
date: {
|
90
|
+
date: new Date(2017,9,11)
|
91
|
+
},
|
92
|
+
duration: '54:29',
|
93
|
+
meta: ['English']
|
94
|
+
},
|
95
|
+
tag: 'Recorded webinar',
|
96
|
+
footer: {
|
97
|
+
buttons: [
|
98
|
+
{
|
99
|
+
link: '#',
|
100
|
+
label: 'Watch the video',
|
101
|
+
colour: 'outline-green'
|
102
|
+
}
|
103
|
+
]
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
]
|
108
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{% extends "components/card-new/card-new.njk" %}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// Extend the basic card scss
|
2
|
+
@import '../card-new/card-new.scss';
|
3
|
+
|
4
|
+
.c-card-new--event {
|
5
|
+
|
6
|
+
// Colour themes
|
7
|
+
&.c-card-new--dark {
|
8
|
+
.c-card__day {
|
9
|
+
color: color('white');
|
10
|
+
}
|
11
|
+
.c-card__specs {
|
12
|
+
color: color('petrol', 'step-2');
|
13
|
+
}
|
14
|
+
}
|
15
|
+
&.c-card-new--alt {
|
16
|
+
.c-card__specs {
|
17
|
+
color: color('petrol', 'step-1');
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
.c-card__meta {
|
22
|
+
line-height: lh('prose');
|
23
|
+
}
|
24
|
+
|
25
|
+
&:not(.c-card-new--small) .c-card__datetime {
|
26
|
+
@container card (width > #{$card-s}) {
|
27
|
+
.c-card__day {
|
28
|
+
font-size: var(--step-4);
|
29
|
+
}
|
30
|
+
.c-card__month {
|
31
|
+
font-size: var(--step-2);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
@container card (width > #{$card-m}) {
|
35
|
+
.c-card__day {
|
36
|
+
font-size: var(--step-5);
|
37
|
+
}
|
38
|
+
.c-card__month {
|
39
|
+
font-size: var(--step-3);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
@container card (width < #{$card-s}) {
|
45
|
+
.c-card__specs {
|
46
|
+
display: none;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|