@madgex/design-system 14.3.1 → 14.4.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.
Files changed (35) hide show
  1. package/dist/assets/icons-inline.svg +1 -1
  2. package/dist/assets/icons.json +1 -1
  3. package/dist/assets/icons.svg +1 -1
  4. package/dist/js/index.js +1 -1
  5. package/package.json +4 -4
  6. package/src/components/accordion/_template.njk +35 -33
  7. package/src/components/accordion/accordion.config.js +0 -81
  8. package/src/components/accordion/accordion.js +53 -43
  9. package/src/components/accordion/accordion.njk +1 -24
  10. package/src/components/button/button.config.js +1 -42
  11. package/src/components/button/button.njk +1 -14
  12. package/src/components/card/card.config.js +0 -93
  13. package/src/components/card/card.njk +1 -22
  14. package/src/components/icons/icons.njk +1 -161
  15. package/src/js/index.js +5 -2
  16. package/src/layout/containers/index.njk +1 -0
  17. package/src/typography/index.njk +1 -0
  18. package/tasks/svgsprite.js +62 -49
  19. package/src/components/accordion/README.md +0 -46
  20. package/src/components/button/README.md +0 -27
  21. package/src/components/card/README.md +0 -114
  22. package/src/components/icons/README.md +0 -62
  23. package/src/layout/containers/01-base-containers.njk +0 -30
  24. package/src/layout/containers/02-branded-containers.njk +0 -13
  25. package/src/layout/containers/03-ad-containers.njk +0 -6
  26. package/src/layout/containers/04-highlighted-containers.njk +0 -3
  27. package/src/layout/containers/README.md +0 -30
  28. package/src/layout/containers/ad-containers.config.json +0 -3
  29. package/src/layout/containers/base-containers.config.json +0 -3
  30. package/src/layout/containers/branded-containers.config.json +0 -3
  31. package/src/layout/containers/highlighted-containers.config.json +0 -3
  32. package/src/typography/font-types.config.json +0 -3
  33. package/src/typography/font-types.njk +0 -43
  34. package/src/typography/headings.njk +0 -9
  35. package/src/typography/lists.njk +0 -111
@@ -1,39 +1,41 @@
1
1
  {%- from "../icons/_macro.njk" import MdsIcon -%}
2
2
 
3
- <details
4
- class="mds-accordion
5
- {%- if params.nonClosing %} mds-accordion--non-closing{% endif -%}
6
- {%- if params.leftAligned %} mds-accordion--left-aligned{% endif -%}
7
- {%- if params.breakpoint %} mds-accordion--breakpoint{% endif -%}
8
- {%- if params.contentFirst %} mds-accordion--content-first{% endif -%}"
3
+ <mds-accordion>
4
+ <details
5
+ class="mds-accordion
6
+ {%- if params.nonClosing %} mds-accordion--non-closing{% endif -%}
7
+ {%- if params.leftAligned %} mds-accordion--left-aligned{% endif -%}
8
+ {%- if params.breakpoint %} mds-accordion--breakpoint{% endif -%}
9
+ {%- if params.contentFirst %} mds-accordion--content-first{% endif -%}"
9
10
 
10
- {%- if params.breakpoint %} data-bp="{{ params.breakpoint }}"{% endif -%}
11
- {%- if params.startsOpen %} open{% endif -%}
12
- >
13
- <summary class="mds-button mds-button--plain mds-padding-x-b0 {{ params.labelClasses }}">
14
- {%- if not params.noIcon -%}
15
- {{- MdsIcon({ iconName: params.icon | default('triangle-right'), classes: "mds-accordion__icon" }) -}}
16
- {{- MdsIcon({ iconName: params.iconOpen | default('triangle-down'), classes: "mds-accordion__icon--open" }) -}}
17
- {%- endif -%}
18
- <span class="mds-accordion__label">{{ params.label | safe }}</span>{#
19
- #}<span class="mds-accordion__label--open">{{ params.labelOpen | default(params.label) | safe }}</span>
20
- </summary>
21
-
22
- <div data-test="accordion-content">
23
- {{- caller() -}}
24
- </div>
25
-
26
- {%- if params.contentFirst -%}
27
- <button
28
- type="button"
29
- class="mds-accordion__label mds-button mds-button--plain mds-padding-x-b0 {{ params.labelClasses }}"
30
- aria-expanded="true"
31
- >
11
+ {%- if params.breakpoint %} data-bp="{{ params.breakpoint }}"{% endif -%}
12
+ {%- if params.startsOpen %} open{% endif -%}
13
+ >
14
+ <summary class="mds-button mds-button--plain mds-padding-x-b0 {{ params.labelClasses }}">
32
15
  {%- if not params.noIcon -%}
33
- {{- MdsIcon({ iconName: params.iconOpen | default('triangle-up'), classes: "mds-accordion__icon--open" }) -}}
16
+ {{- MdsIcon({ iconName: params.icon | default('triangle-right'), classes: "mds-accordion__icon" }) -}}
17
+ {{- MdsIcon({ iconName: params.iconOpen | default('triangle-down'), classes: "mds-accordion__icon--open" }) -}}
34
18
  {%- endif -%}
35
- {{- params.labelOpen | default(params.label) -}}
36
- </button>
37
- {%- endif -%}
19
+ <span class="mds-accordion__label">{{ params.label | safe }}</span>{#
20
+ #}<span class="mds-accordion__label--open">{{ params.labelOpen | default(params.label) | safe }}</span>
21
+ </summary>
22
+
23
+ <div data-test="accordion-content">
24
+ {{- caller() -}}
25
+ </div>
26
+
27
+ {%- if params.contentFirst -%}
28
+ <button
29
+ type="button"
30
+ class="mds-accordion__label mds-accordion__close-button mds-button mds-button--plain mds-padding-x-b0 {{ params.labelClasses }}"
31
+ aria-expanded="true"
32
+ >
33
+ {%- if not params.noIcon -%}
34
+ {{- MdsIcon({ iconName: params.iconOpen | default('triangle-up'), classes: "mds-accordion__icon--open" }) -}}
35
+ {%- endif -%}
36
+ {{- params.labelOpen | default(params.label) -}}
37
+ </button>
38
+ {%- endif -%}
38
39
 
39
- </details>
40
+ </details>
41
+ </mds-accordion>
@@ -2,85 +2,4 @@ module.exports = {
2
2
  title: 'Accordion',
3
3
  label: 'Accordion',
4
4
  status: 'ready',
5
- context: {
6
- name: 'Default',
7
- label: 'View more categories',
8
- labelOpen: 'View less categories',
9
- content:
10
- '<dl class="mds-list mds-list--definition mds-list--border"><dt class="mds-list__key">Hours</dt><dd class="mds-list__value">Full time</dd><dt class="mds-list__key">Contract</dt><dd class="mds-list__value">Permanent</dd><dt class="mds-list__key">Industry</dt><dd class="mds-list__value">Accountant, Manager</dd></dl>',
11
- },
12
- variants: [
13
- {
14
- name: 'Alternative icons',
15
- context: {
16
- name: 'Alt Icons',
17
- label: 'View more options',
18
- labelOpen: 'View less options',
19
- icon: 'plus-small',
20
- iconOpen: 'minus',
21
- leftAligned: true,
22
- content:
23
- '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ligula erat, dignissim non sollicitudin ut, sagittis a sapien. Quisque eget arcu sed nulla tincidunt eleifend. Maecenas sit amet velit elit. Maecenas elementum venenatis sapien sit amet elementum. Pellentesque id mauris quis tortor suscipit posuere. Donec eu consectetur tortor. Mauris id scelerisque quam. Sed scelerisque ut est quis sollicitudin. Etiam semper tempor erat, sed rhoncus ex malesuada non. Donec eu pellentesque odio. Vestibulum et suscipit risus, luctus semper nunc. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eu est ac libero blandit egestas ac id tellus. Suspendisse pulvinar viverra ex, a varius ligula commodo at. Vivamus dignissim neque vitae est ultrices lobortis. Cras vel pulvinar erat.</p>',
24
- },
25
- },
26
- {
27
- name: 'Trigger html tag',
28
- context: {
29
- name: 'Trigger html tag',
30
- label: 'Lorem ipsum',
31
- labelClasses: 'mds-font-s2',
32
- content:
33
- '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ligula erat, dignissim non sollicitudin ut, sagittis a sapien. Quisque eget arcu sed nulla tincidunt eleifend. Maecenas sit amet velit elit. Maecenas elementum venenatis sapien sit amet elementum. Pellentesque id mauris quis tortor suscipit posuere. Donec eu consectetur tortor. Mauris id scelerisque quam. Sed scelerisque ut est quis sollicitudin. Etiam semper tempor erat, sed rhoncus ex malesuada non. Donec eu pellentesque odio. Vestibulum et suscipit risus, luctus semper nunc. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eu est ac libero blandit egestas ac id tellus. Suspendisse pulvinar viverra ex, a varius ligula commodo at. Vivamus dignissim neque vitae est ultrices lobortis. Cras vel pulvinar erat.</p>',
34
- },
35
- },
36
- {
37
- name: 'Content above closing label',
38
- context: {
39
- name: 'Content above closing label',
40
- label: 'Read more...',
41
- labelOpen: 'Read less',
42
- noIcon: true,
43
- contentFirst: true,
44
- content: `<ul>
45
- <li><a href="https://www.example.com">Link 1</a></li>
46
- <li><a href="https://www.example.com">Link 2</a></li>
47
- <li><a href="https://www.example.com">Link 3</a></li>
48
- <li><a href="https://www.example.com">Link 4</a></li>
49
- </ul>
50
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ligula erat, dignissim non sollicitudin ut, sagittis a sapien. Quisque eget arcu sed nulla tincidunt eleifend. Maecenas sit amet velit elit. Maecenas elementum venenatis sapien sit amet elementum. Pellentesque id mauris quis tortor suscipit posuere. Donec eu consectetur tortor. Mauris id scelerisque quam. Sed scelerisque ut est quis sollicitudin. Etiam semper tempor erat, sed rhoncus ex malesuada non. Donec eu pellentesque odio. Vestibulum et suscipit risus, luctus semper nunc. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eu est ac libero blandit egestas ac id tellus. Suspendisse pulvinar viverra ex, a varius ligula commodo at. Vivamus dignissim neque vitae est ultrices lobortis. Cras vel pulvinar erat.</p>`,
51
- },
52
- },
53
- {
54
- name: 'Non Closing',
55
- context: {
56
- name: 'Non Closing',
57
- label: 'View more options',
58
- nonClosing: true,
59
- content:
60
- '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ligula erat, dignissim non sollicitudin ut, sagittis a sapien. Quisque eget arcu sed nulla tincidunt eleifend. Maecenas sit amet velit elit. Maecenas elementum venenatis sapien sit amet elementum. Pellentesque id mauris quis tortor suscipit posuere. Donec eu consectetur tortor. Mauris id scelerisque quam. Sed scelerisque ut est quis sollicitudin. <a href="#">Etiam semper tempor erat</a>, sed rhoncus ex malesuada non. Donec eu pellentesque odio. Vestibulum et suscipit risus, luctus semper nunc. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eu est ac libero blandit egestas ac id tellus. Suspendisse pulvinar viverra ex, a varius ligula commodo at. Vivamus dignissim neque vitae est ultrices lobortis. Cras vel pulvinar erat.</p>',
61
- },
62
- },
63
- {
64
- name: 'Mobile Only',
65
- context: {
66
- name: 'Mobile Only',
67
- label: 'View more categories',
68
- labelOpen: 'View less categories',
69
- breakpoint: '600px',
70
- content:
71
- '<dl class="mds-list mds-list--definition mds-list--border"><dt class="mds-list__key">Hours</dt><dd class="mds-list__value">Full time</dd><dt class="mds-list__key">Contract</dt><dd class="mds-list__value">Permanent</dd><dt class="mds-list__key">Industry</dt><dd class="mds-list__value">Accountant, Manager</dd></dl>',
72
- },
73
- },
74
- {
75
- name: 'Starts expanded',
76
- context: {
77
- name: 'Starts expanded',
78
- label: 'View more categories',
79
- labelOpen: 'View less categories',
80
- startsOpen: true,
81
- content:
82
- '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ligula erat, dignissim non sollicitudin ut, sagittis a sapien. Quisque eget arcu sed nulla tincidunt eleifend. Maecenas sit amet velit elit. Maecenas elementum venenatis sapien sit amet elementum. Pellentesque id mauris quis tortor suscipit posuere. Donec eu consectetur tortor. Mauris id scelerisque quam. Sed scelerisque ut est quis sollicitudin. <a href="#">Etiam semper tempor erat</a>, sed rhoncus ex malesuada non. Donec eu pellentesque odio. Vestibulum et suscipit risus, luctus semper nunc. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eu est ac libero blandit egestas ac id tellus. Suspendisse pulvinar viverra ex, a varius ligula commodo at. Vivamus dignissim neque vitae est ultrices lobortis. Cras vel pulvinar erat.</p>',
83
- },
84
- },
85
- ],
86
5
  };
@@ -1,41 +1,53 @@
1
- /* eslint-disable no-param-reassign */
2
- const accordionBreakpointClass = 'mds-accordion--breakpoint';
3
- const accordionLabelClass = 'mds-accordion__label';
4
-
5
- const accordion = {
6
- init: () => {
7
- // Breakpoint accordions
8
- const breakpointAccordions = document.querySelectorAll(`.${accordionBreakpointClass}`);
9
- const screenWidth = window.innerWidth;
10
-
11
- breakpointAccordions.forEach((accordionElm) => {
12
- const isAccordion = accordion.checkBreakpoint(accordionElm, screenWidth);
13
-
14
- if (!isAccordion) {
15
- accordionElm.open = true;
16
- accordionElm.querySelector('summary').style.display = 'none';
17
- }
18
- });
19
-
20
- const accordionLabels = document.querySelectorAll(`.${accordionLabelClass}`);
21
-
22
- accordionLabels.forEach((accordionLabel) => {
23
- accordionLabel.addEventListener('click', ({ target }) => {
24
- const details = target.closest('details');
25
- const label = details.querySelector('summary');
26
-
27
- details.open = false;
28
- label.focus();
29
- });
30
- });
31
- },
32
-
33
- checkBreakpoint: (element, screenWidth) => {
34
- let breakpoint = 0;
35
-
36
- if (element.dataset.bp) {
37
- const breakpointValue = element.dataset.bp.replace(/\D/g, '');
38
- const breakpointUnit = element.dataset.bp.replace(/[0-9]/g, '');
1
+ export class MdsAccordion extends HTMLElement {
2
+ static accordionBreakpointClass = 'mds-accordion--breakpoint';
3
+ static accordionCloseButtonClass = 'mds-accordion__close-button';
4
+ #controller = new AbortController();
5
+
6
+ constructor() {
7
+ super();
8
+ }
9
+
10
+ connectedCallback() {
11
+ // TODO: use an Observer or Listener to track window breakpoint? Or a CSS test of some kind?
12
+ const isBreakpointAccordion = this.#details.classList.contains(MdsAccordion.accordionBreakpointClass);
13
+ if (isBreakpointAccordion && !this.#useAsAccordionBasedOnBreakpoint()) {
14
+ this.#details.open = true;
15
+ this.#summary.style.display = 'none';
16
+ } else {
17
+ this.#summary.style.display = '';
18
+ }
19
+ if (this.#closeButton) {
20
+ this.#closeButton.addEventListener('click', this.#onClickCloseButton, { signal: this.#controller.signal });
21
+ }
22
+ }
23
+ disconnectedCallback() {
24
+ this.#controller.abort();
25
+ }
26
+
27
+ get #details() {
28
+ return this.querySelector('details');
29
+ }
30
+
31
+ get #summary() {
32
+ return this.querySelector('summary');
33
+ }
34
+
35
+ get #closeButton() {
36
+ return this.querySelector(`.${MdsAccordion.accordionCloseButtonClass}`);
37
+ }
38
+
39
+ #onClickCloseButton = () => {
40
+ this.#details.open = false;
41
+ this.#summary.focus();
42
+ };
43
+
44
+ /** */
45
+ #useAsAccordionBasedOnBreakpoint() {
46
+ let breakpoint;
47
+
48
+ if (this.#details.dataset.bp) {
49
+ const breakpointValue = this.#details.dataset.bp.replace(/\D/g, '');
50
+ const breakpointUnit = this.#details.dataset.bp.replace(/[0-9]/g, '');
39
51
  let fontSize;
40
52
  let conversionValue;
41
53
 
@@ -60,7 +72,7 @@ const accordion = {
60
72
  return true;
61
73
  }
62
74
 
63
- if (screenWidth > breakpoint) {
75
+ if (window.innerWidth > breakpoint) {
64
76
  return false;
65
77
  }
66
78
 
@@ -68,7 +80,5 @@ const accordion = {
68
80
  }
69
81
 
70
82
  return true;
71
- },
72
- };
73
-
74
- export default accordion;
83
+ }
84
+ }
@@ -1,24 +1 @@
1
- {% from "./accordion/_macro.njk" import MdsAccordion %}
2
-
3
- <h3>{{ name }}</h3>
4
- <div>
5
- {% call MdsAccordion({
6
- label: label,
7
- labelOpen: labelOpen,
8
- labelClasses: labelClasses,
9
- icon: icon,
10
- iconOpen: iconOpen,
11
- noIcon: noIcon,
12
- startsOpen: startsOpen,
13
- nonClosing: nonClosing,
14
- breakpoint: breakpoint,
15
- leftAligned: leftAligned,
16
- contentFirst: contentFirst
17
- }) -%}
18
- {#
19
- <!-- example - in normal use `safe` is discouraged as it is dangerous, and not needed -->
20
- <div> My Accordion Content </div>
21
- #}
22
- {{ content | safe }}
23
- {%- endcall %}
24
- </div>
1
+ <a href="/storybook/" target="_top">Moved to Storybook</a>
@@ -1,45 +1,4 @@
1
1
  module.exports = {
2
2
  title: 'Buttons',
3
- status: 'wip',
4
- context: {
5
- items: [
6
- {
7
- href: 'http://madgex.com',
8
- text: 'Link button 1',
9
- },
10
- {
11
- href: 'http://madgex.com',
12
- text: 'Link Plain button 2',
13
- classes: 'mds-button--plain',
14
- },
15
- {
16
- text: 'Plain button',
17
- classes: 'mds-button--plain',
18
- },
19
- {
20
- text: 'Small button',
21
- classes: 'mds-button--small',
22
- },
23
- {
24
- text: 'Large button',
25
- classes: 'mds-button--large',
26
- },
27
- {
28
- text: 'Full width example',
29
- classes: 'mds-width-full mds-width-md-auto',
30
- },
31
- {
32
- text: 'Neutral',
33
- classes: 'mds-button--neutral',
34
- },
35
- {
36
- text: 'Prevent double submit',
37
- classes: 'js-mds-button-double-submit',
38
- },
39
- {
40
- text: 'With attributes',
41
- attributes: { attributed: 'yes', 'other-thing': 'also' },
42
- },
43
- ],
44
- },
3
+ status: 'ready',
45
4
  };
@@ -1,14 +1 @@
1
-
2
- {% from "./button/_macro.njk" import MdsButton %}
3
-
4
- {% for item in items %}
5
- {% call MdsButton({
6
- href: item.href,
7
- classes: item.classes,
8
- attributes: item.attributes
9
- }) -%}
10
- {{ item.text }}
11
- {%- endcall %}
12
- {% endfor %}
13
-
14
-
1
+ <a href="/storybook/" target="_top">Moved to Storybook</a>
@@ -2,97 +2,4 @@ module.exports = {
2
2
  title: 'Card',
3
3
  label: 'Card',
4
4
  status: 'ready',
5
- context: {
6
- fractalLabel: 'Card',
7
- inList: false,
8
- classes: '',
9
- content: '<h4>Card Title</h4><p>paragraph</p>',
10
- id: 'default',
11
- },
12
- variants: [
13
- {
14
- name: 'card-in-list',
15
- context: {
16
- fractalLabel: 'Card used in a list',
17
- inList: true,
18
- classes: '',
19
- content: '<h4>Card used in list (li instead of div)</h4><p>paragraph</p>',
20
- id: 'in-list',
21
- },
22
- },
23
- {
24
- name: 'card-with-highlight',
25
- context: {
26
- fractalLabel: 'Card with background',
27
- inList: false,
28
- classes: 'mds-card--highlighted',
29
- content: '<h4>Card Title</h4><p>paragraph</p>',
30
- id: 'with-background',
31
- },
32
- },
33
- {
34
- name: 'card-with-custom-styling',
35
- context: {
36
- fractalLabel: 'Card with custom styling',
37
- inList: false,
38
- classes: 'mds-card--1',
39
- content: '<h4>Card Title</h4><p>paragraph</p>',
40
- id: 'with-custom-styling',
41
- },
42
- },
43
- {
44
- name: 'card-with-badges',
45
- context: {
46
- fractalLabel: 'Card with badges',
47
- inList: false,
48
- content: '<h4>Card Title</h4><p>paragraph</p>',
49
- id: 'with-badge',
50
- badges: {
51
- left: [
52
- {
53
- label: 'Top Job',
54
- },
55
- ],
56
- right: [
57
- {
58
- label: 'Approved Employer',
59
- styleId: '1',
60
- },
61
- {
62
- label: 'New',
63
- styleId: 'new',
64
- },
65
- ],
66
- },
67
- },
68
- },
69
- {
70
- name: 'link-card',
71
- context: {
72
- fractalLabel: 'Card with a link',
73
- link: {
74
- href: 'https://www.google.com',
75
- title: 'Card with link',
76
- containerElement: 'h3',
77
- },
78
- classes: '',
79
- content: '<p>content</p><p>content</p><p>content</p><p>content</p>',
80
- id: 'with link',
81
- },
82
- },
83
- {
84
- name: 'list-link-card',
85
- context: {
86
- fractalLabel: 'Card with link used in a list',
87
- inList: true,
88
- link: {
89
- href: 'https://www.google.com',
90
- title: 'Card with link',
91
- },
92
- classes: '',
93
- content: '<p>content</p><p>content</p><p>content</p><p>content</p>',
94
- id: 'in-list',
95
- },
96
- },
97
- ],
98
5
  };
@@ -1,22 +1 @@
1
- {% from "./card/_macro.njk" import MdsCard %}
2
-
3
- <div class="mds-margin-bottom-b5">
4
- <h2>{{ fractalLabel }}</h2>
5
- {%- if inList -%}
6
- <ul>
7
- {%- endif -%}
8
-
9
- {% call MdsCard({
10
- inList: inList,
11
- classes: classes,
12
- id: id,
13
- badges: badges,
14
- link: link
15
- }) -%}
16
- <!-- example - in normal use `safe` is discouraged as it is dangerous, and not needed -->
17
- {{ content | safe }}
18
- {%- endcall %}
19
- {%- if inList -%}
20
- </ul>
21
- {%- endif -%}
22
- </div>
1
+ <a href="/storybook/" target="_top">Moved to Storybook</a>
@@ -1,161 +1 @@
1
- {# NUNJUCKS VERSION #}
2
-
3
- {% from "./icons/_macro.njk" import MdsIcon %}
4
-
5
- <h2>Different sizes</h2>
6
-
7
- <p>{{ MdsIcon({
8
- iconName: 'star-fill',
9
- classes: 'mds-icon--sm',
10
- visuallyHiddenLabel: 'Shortlisted'
11
- }) }} : small (16px)</p>
12
- <p>{{ MdsIcon({
13
- iconName: 'star-fill',
14
- classes: 'mds-icon--md'
15
- }) }} : medium (24px)</p>
16
- <p>{{ MdsIcon({
17
- iconName: 'star-fill',
18
- classes: 'mds-icon--lg'
19
- }) }} : large (32px)</p>
20
- <p>{{ MdsIcon({
21
- iconName: 'star-fill',
22
- classes: 'mds-icon--xl'
23
- }) }} : extra large (48px)</p>
24
- <p>{{ MdsIcon({
25
- iconName: 'star-fill',
26
- classes: 'mds-icon--xxl'
27
- }) }} : extra extra large (72px)</p>
28
-
29
- <br><hr><br>
30
-
31
- <h2>Icon with text</h2>
32
-
33
- <p>{{- MdsIcon({
34
- iconName: 'email',
35
- classes: 'mds-icon--before'
36
- }) -}}Email me</p>
37
-
38
- <p><a href="#">Apply{{- MdsIcon({
39
- iconName: 'chevron-right',
40
- classes: 'mds-icon--after'
41
- }) -}}</a></p>
42
-
43
- <div>
44
- <span>Share this job</span>
45
- <ul class="mds-list mds-list--inline mds-display-inline-block">
46
- <li class="mds-list__item">
47
- <a href="#">
48
- {{- MdsIcon({
49
- iconName: 'social-facebook',
50
- visuallyHiddenLabel: 'Facebook'
51
- }) -}}
52
- </a>
53
- </li>
54
- <li class="mds-list__item">
55
- <a href="#">
56
- {{- MdsIcon({
57
- iconName: 'social-twitter',
58
- visuallyHiddenLabel: 'Twitter'
59
- }) -}}
60
- </a>
61
- </li>
62
- <li class="mds-list__item">
63
- <a href="#">
64
- {{- MdsIcon({
65
- iconName: 'social-linkedin',
66
- visuallyHiddenLabel: 'LinkedIn'
67
- }) -}}
68
- </a>
69
- </li>
70
- <li class="mds-list__item">
71
- <a href="#">
72
- {{- MdsIcon({
73
- iconName: 'social-pinterest',
74
- visuallyHiddenLabel: 'Pinterest'
75
- }) -}}
76
- </a>
77
- </li>
78
- <li class="mds-list__item">
79
- <a href="#">
80
- {{- MdsIcon({
81
- iconName: 'social-reddit',
82
- visuallyHiddenLabel: 'Reddit'
83
- }) -}}
84
- </a>
85
- </li>
86
- </ul>
87
- </div>
88
-
89
- <br><hr><br>
90
-
91
- <h2>Spinner</h2>
92
- {{- MdsIcon({
93
- iconName: 'spinner',
94
- visuallyHiddenLabel: 'Loading...'
95
- }) -}}
96
-
97
- <br><hr><br>
98
-
99
- <h2>Has container</h2>
100
- {{- MdsIcon({
101
- iconName: 'cross',
102
- visuallyHiddenLabel: 'Error',
103
- classes: 'mds-icon--md',
104
- hasContainer: true,
105
- containerClasses: 'mds-icon-container--circle mds-icon-container--error'
106
- }) -}}
107
-
108
- <br><hr><br>
109
-
110
- <h2>Icons using inline SVG</h2>
111
-
112
- <div>
113
- <span>Share this job</span>
114
- <ul class="mds-list mds-list--inline mds-display-inline-block">
115
- <li class="mds-list__item">
116
- <a href="#">
117
- {{- MdsIcon({
118
- iconName: 'social-facebook',
119
- visuallyHiddenLabel: 'Facebook',
120
- path: ''
121
- }) -}}
122
- </a>
123
- </li>
124
- <li class="mds-list__item">
125
- <a href="#">
126
- {{- MdsIcon({
127
- iconName: 'social-twitter',
128
- visuallyHiddenLabel: 'Twitter',
129
- path: ''
130
- }) -}}
131
- </a>
132
- </li>
133
- <li class="mds-list__item">
134
- <a href="#">
135
- {{- MdsIcon({
136
- iconName: 'social-linkedin',
137
- visuallyHiddenLabel: 'LinkedIn',
138
- path: ''
139
- }) -}}
140
- </a>
141
- </li>
142
- <li class="mds-list__item">
143
- <a href="#">
144
- {{- MdsIcon({
145
- iconName: 'social-pinterest',
146
- visuallyHiddenLabel: 'Pinterest',
147
- path: ''
148
- }) -}}
149
- </a>
150
- </li>
151
- <li class="mds-list__item">
152
- <a href="#">
153
- {{- MdsIcon({
154
- iconName: 'social-reddit',
155
- visuallyHiddenLabel: 'Reddit',
156
- path: ''
157
- }) -}}
158
- </a>
159
- </li>
160
- </ul>
161
- </div>
1
+ <a href="/storybook/" target="_top">Moved to Storybook</a>