mp-design-system 1.2.62 → 1.2.64
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|