mp-design-system 1.2.13 → 1.2.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. package/dist/build/js/app.js.map +1 -1
  2. package/dist/build/scss/library.css +1 -1
  3. package/dist/build/scss/library.css.map +1 -1
  4. package/dist/build/scss/main.css +1 -1
  5. package/dist/build/scss/main.css.map +1 -1
  6. package/package.json +1 -1
  7. package/src/_includes/components/card/card.njk +2 -2
  8. package/src/_includes/components/card/card.scss +38 -0
  9. package/src/_includes/components/card/product-comparison-card.scss +2 -0
  10. package/src/_includes/components/comparison-table/comparison-table.config.js +10 -10
  11. package/src/_includes/components/comparison-table/comparison-table.njk +1 -1
  12. package/src/_includes/components/component/preview-default.njk +1 -1
  13. package/src/_includes/components/hero/hero.njk +4 -5
  14. package/src/_includes/components/input/radio.scss +65 -25
  15. package/src/_includes/components/internal-nav/internal-nav.config.js +1 -1
  16. package/src/assets/scss/components/index.scss +1 -1
  17. package/src/assets/scss/components/product-finder.scss +66 -0
  18. package/src/assets/scss/objects/grid.scss +6 -0
  19. package/src/components-full-pages.njk +1 -1
  20. package/src/components-pages.njk +1 -1
  21. package/src/index.njk +75 -12
  22. package/src/prototype/range.njk +161 -40
  23. package/src/prototype/webinars-3-2-1.njk +43 -1
  24. package/src/_includes/components/card/event-series-card.config.js +0 -36
  25. package/src/_includes/components/card/event-series-card.njk +0 -45
  26. package/src/_includes/components/card/event-series-card.scss +0 -57
  27. package/src/_includes/components/dynamic-form/dynamic-form.config.js +0 -16
  28. package/src/_includes/components/dynamic-form/dynamic-form.njk +0 -319
  29. package/src/_includes/components/dynamic-form/dynamic-form.scss +0 -77
  30. package/src/_includes/components/dynamic-form/macro.njk +0 -5
  31. package/src/_includes/components/input/combobox.njk +0 -17
  32. package/src/_includes/components/input/combobox.scss +0 -31
  33. package/src/_includes/components/input/combox.config.js +0 -49
  34. package/src/assets/js/imports/combobox.js +0 -66
@@ -4,10 +4,12 @@ tags: prototype
4
4
  tagTitle: Range
5
5
  ---
6
6
 
7
+ {% from "components/internal-nav/macro.njk" import internalNav %}
7
8
  {% from "components/twi/macro.njk" import twi %}
8
9
  {% from "components/usp/macro.njk" import usp %}
9
10
  {% from "components/breadcrumb/macro.njk" import breadcrumb %}
10
11
  {% from "components/button/macro.njk" import button %}
12
+ {% from "components/card/macro.njk" import productComparisonCard %}
11
13
  {% from "components/comparison-table/macro.njk" import comparisonTable %}
12
14
  {% from "components/hero/macro.njk" import hero %}
13
15
 
@@ -37,8 +39,21 @@ tagTitle: Range
37
39
  }
38
40
  }) }}
39
41
 
40
- <div class="c-slat--white">
41
- <div class="mp u-wrap u-pad-top-s">
42
+ {{ internalNav({
43
+ classes: 'u-sticky',
44
+ title: 'Mastersizer range',
45
+ links: [
46
+ { link: '#overview', label: 'Overview' },
47
+ { link: '#products', label: 'Products' },
48
+ { link: '#product-comparison-table', label: 'Compare' }
49
+ ],
50
+ button: {
51
+ link: '#',
52
+ label: 'Request a quote'
53
+ }
54
+ }) }}
55
+
56
+ <div id="overview" class="mp u-wrap u-pad-top-s u-margin-bottom-l-xl" style="scroll-margin-top:70px">
42
57
  <div class="o-grid o-grid--of-two-late u-pad-bottom-s">
43
58
  <div>
44
59
  <div class="mp o-prose u-flow--prose">
@@ -58,7 +73,7 @@ tagTitle: Range
58
73
  </figure>
59
74
  </div>
60
75
 
61
- <div class="o-grid o-grid--of-three u-pad-top-m-l u-pad-bottom-l">
76
+ <div class="o-grid o-grid--of-three u-pad-top-m-l">
62
77
  {{ usp({
63
78
  title: 'Superior speed. Peerless precision.',
64
79
  content: '<p>Class-leading particle sizing performance that generates the robust, reliable data you need</p>'
@@ -72,57 +87,163 @@ tagTitle: Range
72
87
  content: '<p>Mastersizer 3000 eases your analytical workload, enabling you to develop and run a variety of methods efficiently</p>'
73
88
  }) }}
74
89
  </div>
90
+ </div>
91
+ </div>
75
92
 
76
-
77
- {{ comparisonTable({
78
- sections: [
93
+ <div id="products" class="u-pad-y-xl" style="scroll-margin-top:70px">
94
+ <div class="o-grid o-grid--of-three u-wrap">
95
+ {{ productComparisonCard({
96
+ title: 'Mastersizer 3000',
97
+ description: 'Delivering the data you need for outcomes you can trust',
98
+ image: {
99
+ src: '/static/img/range-product-1.jpg',
100
+ alt: ''
101
+ },
102
+ features: [
103
+ {
104
+ icon: 'tick',
105
+ label: 'Particle size range from 0.01 to 3500µm'
106
+ },
79
107
  {
80
- rows: ['Particle size range']
108
+ icon: 'tick',
109
+ label: 'Advanced method development'
81
110
  },
82
111
  {
83
- title: 'Technology',
84
- rows: ['Laser Diffraction']
112
+ icon: 'tick',
113
+ label: 'Automated dispersion'
85
114
  },
86
115
  {
87
- title: 'Dispersion type',
88
- rows: ['Wet', 'Dry']
116
+ icon: 'tick',
117
+ label: '21 CFR Part 11 support'
89
118
  }
90
119
  ],
91
- products: [
92
- {
93
- title: 'Mastersizer 3000',
94
- link: '/prototype/product/',
95
- image: {
96
- src: '/static/img/range-product-1.jpg',
97
- alt: 'Mastersizer 3000'
120
+ footer: {
121
+ buttons: [
122
+ {
123
+ link: '#',
124
+ label: 'More details'
98
125
  },
99
- description: 'Delivering the data you need for outcomes you can trust',
100
- sections: [
101
- ['0.01µm - 3500µm'],
102
- [true],
103
- [true, true]
104
- ]
126
+ {
127
+ link: '/prototype/request-a-quote',
128
+ label: 'Request a quote'
129
+ }
130
+ ]
131
+ }
132
+ })}}
133
+ {{ productComparisonCard({
134
+ title: 'Mastersizer 3000E',
135
+ description: 'Entry level particle size analyzer',
136
+ image: {
137
+ src: '/static/img/range-product-1.jpg',
138
+ alt: ''
139
+ },
140
+ features: [
141
+ {
142
+ icon: 'tick',
143
+ label: 'Particle size range from 0.1 to 1000µm'
105
144
  },
106
145
  {
107
- title: 'Mastersizer 3000E',
108
- link: '/prototype/product/',
109
- image: {
110
- src: '/static/img/range-product-2.jpg',
111
- alt: 'Mastersizer 3000E'
146
+ icon: 'tick',
147
+ label: 'Manual dispersion units only'
148
+ },
149
+ {
150
+ icon: 'tick',
151
+ label: 'Basic software'
152
+ },
153
+ {
154
+ icon: 'tick',
155
+ label: 'Anytime upgrade option'
156
+ }
157
+ ],
158
+ footer: {
159
+ buttons: [
160
+ {
161
+ link: '#',
162
+ label: 'More details'
112
163
  },
113
- description: 'Entry level particle size analyzer',
114
- sections: [
115
- ['0.1µm - 1000µm'],
116
- [true],
117
- [true, false]
118
- ]
164
+ {
165
+ link: '/prototype/request-a-quote',
166
+ label: 'Request a quote'
167
+ }
168
+ ]
169
+ }
170
+ })}}
171
+ <div class="u-flow u-margin-top-auto">
172
+ <h4 class="c-h c-h--step-4">Interested in a demonstration?</h4>
173
+ <div class="o-prose u-flow--prose">
174
+ <p>See the Mastersizer 3000 in action, speak with our product specialists and get answers to your questions.</p>
175
+ </div>
176
+ <a href="#" class="mp c-button c-button--outline-green c-button--inline">Request a demo</a>
177
+ </div>
178
+ </div>
179
+ </div>
180
+
181
+ {{ comparisonTable({
182
+ sections: [
183
+ {
184
+ rows: ['Particle size range']
185
+ },
186
+ {
187
+ title: 'Technology',
188
+ rows: ['Laser Diffraction']
189
+ },
190
+ {
191
+ title: 'Dispersion type',
192
+ rows: ['Wet', 'Dry']
193
+ }
194
+ ],
195
+ products: [
196
+ {
197
+ title: 'Mastersizer 3000',
198
+ link: '/prototype/product/',
199
+ image: {
200
+ src: '/static/img/range-product-1.jpg',
201
+ alt: 'Mastersizer 3000'
202
+ },
203
+ description: 'Delivering the data you need for outcomes you can trust',
204
+ buttons: [
205
+ {
206
+ link: '#',
207
+ label: 'More details'
208
+ },
209
+ {
210
+ link: '/prototype/request-a-quote',
211
+ label: 'Request a quote'
119
212
  }
213
+ ],
214
+ sections: [
215
+ ['0.01µm - 3500µm'],
216
+ [true],
217
+ [true, true]
120
218
  ]
121
- }) }}
122
-
123
- </div>
219
+ },
220
+ {
221
+ title: 'Mastersizer 3000E',
222
+ link: '/prototype/product/',
223
+ image: {
224
+ src: '/static/img/range-product-2.jpg',
225
+ alt: 'Mastersizer 3000E'
226
+ },
227
+ description: 'Entry level particle size analyzer',
228
+ buttons: [
229
+ {
230
+ link: '#',
231
+ label: 'More details'
232
+ },
233
+ {
234
+ link: '/prototype/request-a-quote',
235
+ label: 'Request a quote'
236
+ }
237
+ ],
238
+ sections: [
239
+ ['0.1µm - 1000µm'],
240
+ [true],
241
+ [true, false]
242
+ ]
243
+ }
244
+ ]
245
+ }) }}
124
246
 
125
- {% include "includes/resources.njk" %}
126
- </div>
247
+ {% include "includes/resources.njk" %}
127
248
 
128
249
  {% endblock %}
@@ -315,7 +315,7 @@ tagTitle: Webinars - featured layout
315
315
  switch: true
316
316
  },
317
317
  image: {
318
- src: '/static/img/featured-event-1.jpg',
318
+ src: '/static/img/featured-event-3.jpg',
319
319
  alt: 'Alt'
320
320
  },
321
321
  header: {
@@ -350,6 +350,48 @@ tagTitle: Webinars - featured layout
350
350
  tag: 'Recorded webinar'
351
351
  }) }}
352
352
 
353
+ {{ card({
354
+ theme: {
355
+ layout: 'multi c-card--layout-multi-40-60',
356
+ name: 'featured'
357
+ },
358
+ image: {
359
+ src: '/static/img/featured-event-2.jpg',
360
+ alt: 'Alt'
361
+ },
362
+ header: {
363
+ title: 'Achieving method transfer from Mastersizer 2000 to Mastersizer 3000',
364
+ meta: ['English'],
365
+ date: {
366
+ date: '2021-02-09' | createDate,
367
+ time: '11:00 – 1200',
368
+ timezone: 'EST'
369
+ }
370
+ },
371
+ body: {
372
+ keySpecs: [
373
+ {
374
+ title: 'Products',
375
+ term: 'Mastersizer 3000'
376
+ },
377
+ {
378
+ title: 'Technologies',
379
+ term: 'Morphologically-Directed Raman Spectroscopy'
380
+ }
381
+ ]
382
+ },
383
+ footer: {
384
+ buttons: [
385
+ {
386
+ label: 'Book your place',
387
+ link: '/prototype/oma/',
388
+ colour: 'green'
389
+ }
390
+ ]
391
+ },
392
+ tag: 'Recorded webinar'
393
+ }) }}
394
+
353
395
  </div>
354
396
  </div>
355
397
  {% endblock %}
@@ -1,36 +0,0 @@
1
- const categories = require('../component/categories');
2
-
3
- module.exports = {
4
- title: 'Event series card',
5
- category: categories.card,
6
- component: {
7
- name: 'event-series-card',
8
- folder: 'card'
9
- },
10
- preview: 'cards-three',
11
- context: {
12
- title: 'Part 1 - The theory of X-Ray Fluorescence (XRF)',
13
- date: 'Oct 2023',
14
- image: {
15
- src: '/static/img/range-product-1.jpg',
16
- alt: ''
17
- },
18
- footer: {
19
- link: {
20
- link: '#',
21
- label: 'Watch now',
22
- icon: 'play'
23
- }
24
- }
25
- },
26
- variants: [],
27
- props: [
28
- {
29
- table: [
30
- ['title', 'string'],
31
- ['link', 'string'],
32
- ['image', 'object', 'Image object']
33
- ]
34
- }
35
- ]
36
- }
@@ -1,45 +0,0 @@
1
- {%- from "components/twi/macro.njk" import twi -%}
2
-
3
- <article class="mp c-event-series-card" role="article" aria-label="Event series card">
4
- <div class="c-event-series-card__body">
5
- <header class="c-event-series-card__header u-flow--2xs">
6
- <h3 class="c-h c-event-series-card__heading">{{ params.title }}</h3>
7
- <time class="c-event-series-card__datetime">
8
- <span>{{ params.date }}</span>
9
- </time>
10
- </header>
11
- {% if footer.link | length %}
12
- <footer class="c-event-series-card__footer u-flow--2xs">
13
- {{ twi({
14
- label: footer.link.label,
15
- icon: footer.link.icon
16
- }) }}
17
- </footer>
18
- {% endif %}
19
- </div>
20
- <figure class="c-event-series-card__image">
21
- <img src="{{ params.image.src }}" alt="{{ params.image.alt or params.title }}" />
22
- </figure>
23
- </article>
24
-
25
- <article class="mp c-event-series-card" role="article" aria-label="Event series card">
26
- <div class="c-event-series-card__body">
27
- <header class="c-event-series-card__header u-flow--2xs">
28
- <h3 class="c-h c-event-series-card__heading">{{ params.title }}</h3>
29
- <time class="c-event-series-card__datetime">
30
- <span>{{ params.date }}</span>
31
- </time>
32
- </header>
33
- {% if footer.link | length %}
34
- <footer class="c-event-series-card__footer u-flow--2xs">
35
- {{ twi({
36
- label: footer.link.label,
37
- icon: footer.link.icon
38
- }) }}
39
- </footer>
40
- {% endif %}
41
- </div>
42
- <figure class="c-event-series-card__image">
43
- <img src="{{ params.image.src }}" alt="{{ params.image.alt or params.title }}" />
44
- </figure>
45
- </article>
@@ -1,57 +0,0 @@
1
- .c-event-series-card {
2
- @extend .u-flow--2xs;
3
- display: flex;
4
- flex-flow: column;
5
- box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 20%);
6
-
7
- & > * + * {
8
- @include margin-top('2xs');
9
- }
10
-
11
- &__body {
12
- @include padding('s-m');
13
- display: flex;
14
- flex-flow: column;
15
- flex-grow: 1;
16
- }
17
-
18
- &__heading {
19
-
20
- }
21
-
22
- &__heading {
23
- @extend .c-h;
24
- font-size: var(--step-0);
25
- }
26
-
27
- &__datetime {
28
- font-size: var(--step--1);
29
- font-weight: normal;
30
- }
31
-
32
- &__footer {
33
- @include margin-top('auto');
34
- @include padding-top('s');
35
-
36
- & > * + * {
37
- @include margin-top('2xs');
38
- }
39
-
40
- .c-twi {
41
- color: color('utility-blue', 'step-1');
42
- font-size: var(--step--1);
43
- }
44
- }
45
-
46
- &__image {
47
- height: 15.75em;
48
- order: -1;
49
- aspect-ratio: 2/1;
50
-
51
- img {
52
- height: 100%;
53
- width: 100%;
54
- object-fit: cover;
55
- }
56
- }
57
- }
@@ -1,16 +0,0 @@
1
- module.exports = {
2
- title: 'Dynamic form',
3
- component: {
4
- name: 'dynamic-form'
5
- },
6
- context: {
7
- label: 'Find the perfect event for you'
8
- },
9
- props: [
10
- {
11
- table: [
12
- ['label', 'string', 'Label the input']
13
- ]
14
- }
15
- ]
16
- }