@pnx-mixtape/mxds 0.0.8 → 0.0.9

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 (120) hide show
  1. package/package.json +1 -1
  2. package/src/Atom/Button/button.twig +1 -1
  3. package/src/Atom/Image/image.twig +3 -3
  4. package/src/Atom/Link/link.twig +1 -1
  5. package/src/Atom/Media/media.twig +2 -2
  6. package/src/Atom/Video/video.twig +1 -1
  7. package/src/Component/Accordion/accordion-item.twig +1 -1
  8. package/src/Component/Accordion/accordion.twig +1 -1
  9. package/src/Component/Card/Card.stories.ts +26 -14
  10. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +18 -12
  11. package/src/Component/Card/card.twig +5 -5
  12. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +9 -45
  13. package/src/Component/ContentBlock/content-block.twig +2 -2
  14. package/src/Component/DropMenu/drop-menu.twig +1 -1
  15. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +1 -3
  16. package/src/Component/GlobalAlert/global-alert.twig +3 -3
  17. package/src/Component/HeroBanner/HeroBanner.stories.ts +25 -11
  18. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +18 -12
  19. package/src/Component/HeroBanner/hero-banner.twig +3 -3
  20. package/src/Component/LinkList/LinkList.stories.ts +20 -6
  21. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +18 -12
  22. package/src/Component/LinkList/link-list.css +7 -35
  23. package/src/Component/LinkList/link-list.twig +1 -5
  24. package/src/Component/ListItem/list-item.twig +4 -4
  25. package/src/Component/Navigation/menu.twig +4 -4
  26. package/src/Component/Navigation/navigation.twig +1 -1
  27. package/src/Component/Pagination/pagination-item.twig +1 -1
  28. package/src/Component/Pagination/pagination.twig +2 -2
  29. package/src/Component/SideNavigation/side-navigation.twig +4 -4
  30. package/src/Component/Tabs/tabs.twig +1 -1
  31. package/src/Component/Tag/tag.css +4 -0
  32. package/src/Form/Checkbox/input-checkbox.twig +1 -1
  33. package/src/Form/Form/form.twig +2 -2
  34. package/src/Form/FormItem/form-item.twig +1 -1
  35. package/src/Form/Select/input-select.twig +1 -1
  36. package/src/Form/TextInput/input-text.twig +1 -1
  37. package/src/Form/Textarea/input-textarea.twig +1 -1
  38. package/src/Layout/Footer/Footer.stories.ts +0 -1
  39. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +20 -40
  40. package/src/Layout/Footer/footer.twig +3 -3
  41. package/src/Layout/Header/Header.stories.ts +0 -1
  42. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +5 -5
  43. package/src/Layout/Header/header-stacked.twig +13 -11
  44. package/src/Layout/Header/header.twig +12 -10
  45. package/src/Layout/Header/twig/logo.twig +1 -3
  46. package/src/Layout/Masthead/Masthead.stories.ts +10 -0
  47. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +51 -3
  48. package/src/Layout/Masthead/masthead.css +23 -0
  49. package/src/Layout/Masthead/masthead.twig +9 -5
  50. package/src/Layout/Section/section.twig +1 -1
  51. package/src/Layout/Sidebar/sidebar.twig +5 -5
  52. package/dist/build/accordion.css +0 -108
  53. package/dist/build/accordion.entry.js +0 -139
  54. package/dist/build/accordion.entry.js.map +0 -1
  55. package/dist/build/base.css +0 -996
  56. package/dist/build/breadcrumb.css +0 -51
  57. package/dist/build/button.css +0 -132
  58. package/dist/build/callout.css +0 -11
  59. package/dist/build/card.css +0 -149
  60. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js +0 -124
  61. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js.map +0 -1
  62. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js +0 -132
  63. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js.map +0 -1
  64. package/dist/build/chunks/keyboard-C73DHu0c.js +0 -101
  65. package/dist/build/chunks/keyboard-C73DHu0c.js.map +0 -1
  66. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +0 -749
  67. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +0 -1
  68. package/dist/build/chunks/popover-wbPSyFRj.js +0 -654
  69. package/dist/build/chunks/popover-wbPSyFRj.js.map +0 -1
  70. package/dist/build/chunks/utilities-B4YZb689.js +0 -243
  71. package/dist/build/chunks/utilities-B4YZb689.js.map +0 -1
  72. package/dist/build/constants.css +0 -120
  73. package/dist/build/container-grid.css +0 -208
  74. package/dist/build/content-block.css +0 -36
  75. package/dist/build/dialog.css +0 -98
  76. package/dist/build/dialog.entry.js +0 -113
  77. package/dist/build/dialog.entry.js.map +0 -1
  78. package/dist/build/drop-menu.css +0 -78
  79. package/dist/build/drop-menu.entry.js +0 -2
  80. package/dist/build/drop-menu.entry.js.map +0 -1
  81. package/dist/build/drupal.css +0 -74
  82. package/dist/build/footer.css +0 -151
  83. package/dist/build/form.css +0 -517
  84. package/dist/build/global-alert.css +0 -60
  85. package/dist/build/global-alert.entry.js +0 -68
  86. package/dist/build/global-alert.entry.js.map +0 -1
  87. package/dist/build/grid.css +0 -200
  88. package/dist/build/header.css +0 -138
  89. package/dist/build/header.entry.js +0 -103
  90. package/dist/build/header.entry.js.map +0 -1
  91. package/dist/build/hero-banner.css +0 -62
  92. package/dist/build/icon.css +0 -399
  93. package/dist/build/in-page-alert.css +0 -94
  94. package/dist/build/in-page-navigation.css +0 -17
  95. package/dist/build/in-page-navigation.entry.js +0 -89
  96. package/dist/build/in-page-navigation.entry.js.map +0 -1
  97. package/dist/build/link-list.css +0 -72
  98. package/dist/build/list-item.css +0 -114
  99. package/dist/build/masthead.css +0 -30
  100. package/dist/build/navigation.css +0 -392
  101. package/dist/build/navigation.entry.js +0 -124
  102. package/dist/build/navigation.entry.js.map +0 -1
  103. package/dist/build/page.css +0 -80
  104. package/dist/build/pagination.css +0 -130
  105. package/dist/build/section.css +0 -163
  106. package/dist/build/side-navigation.css +0 -88
  107. package/dist/build/sidebar.css +0 -105
  108. package/dist/build/social-links.css +0 -20
  109. package/dist/build/steps.css +0 -118
  110. package/dist/build/steps.entry.js +0 -2
  111. package/dist/build/steps.entry.js.map +0 -1
  112. package/dist/build/sticky.css +0 -47
  113. package/dist/build/sticky.entry.js +0 -60
  114. package/dist/build/sticky.entry.js.map +0 -1
  115. package/dist/build/tabs.css +0 -109
  116. package/dist/build/tabs.entry.js +0 -202
  117. package/dist/build/tabs.entry.js.map +0 -1
  118. package/dist/build/tag.css +0 -67
  119. package/dist/build/tiles.css +0 -61
  120. package/dist/build/utilities.css +0 -178
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pnx-mixtape/mxds",
3
3
  "description": "The Mixtape Design System",
4
- "version": "0.0.8",
4
+ "version": "0.0.9",
5
5
  "scripts": {
6
6
  "dev": "concurrently -k -n \"VITE,STORYBOOK\" -c \"#636cff,#ff4785\" \"npm run dev-vite\" \"npm run dev-storybook\"",
7
7
  "build": "concurrently -n \"VITE,STORYBOOK\" -c \"#636cff,#ff4785\" \"npm run build-vite\" \"npm run build-storybook\"",
@@ -8,7 +8,7 @@
8
8
  {% endfor %}
9
9
  {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
10
10
 
11
- {% if href %}
11
+ {% if href is not empty %}
12
12
  <a{{ attributes}} href="{{ href }}">
13
13
  {{ iconStart }}
14
14
  <span{% if iconOnly %} class="sr-only"{% endif %}>{{ title }}</span>
@@ -6,8 +6,8 @@
6
6
  <img
7
7
  src="{{ src }}"
8
8
  alt="{{ alt }}"
9
- {% if loading %} loading="{{ loading }}"{% endif %}
10
- {% if height %} height="{{ height }}"{% endif %}
11
- {% if width %} width="{{ width }}"{% endif %}
9
+ {% if loading is not empty %} loading="{{ loading }}"{% endif %}
10
+ {% if height is not empty %} height="{{ height }}"{% endif %}
11
+ {% if width is not empty %} width="{{ width }}"{% endif %}
12
12
  />
13
13
  </picture>
@@ -5,7 +5,7 @@
5
5
  download ? baseClass~'--download' : null,
6
6
  ]|join(" ")|trim() %}
7
7
  {% set attributes = (attributes ?? create_attribute()) %}
8
- {% if classes %}
8
+ {% if classes is not empty %}
9
9
  {% set attributes = attributes.addClass(classes) %}
10
10
  {% endif %}
11
11
 
@@ -8,10 +8,10 @@
8
8
 
9
9
  <figure{{ attributes }}>
10
10
  {{ item }}
11
- {% if caption or attribution%}
11
+ {% if caption is not empty or attribution is not empty %}
12
12
  <figcaption>
13
13
  {{ caption }}
14
- {% if caption and attribution %} - {% endif %}
14
+ {% if caption is not empty and attribution is not empty %} - {% endif %}
15
15
  {{ attribution }}
16
16
  </figcaption>
17
17
  {% endif %}
@@ -2,7 +2,7 @@
2
2
  <figure{{ attributes }}>
3
3
  <iframe
4
4
  src="{{ src }}"
5
- {% if title %} title="{{ title }}"{% endif %}
5
+ {% if title is not empty %} title="{{ title }}"{% endif %}
6
6
  allowfullscreen
7
7
  ></iframe>
8
8
  </figure>
@@ -6,7 +6,7 @@
6
6
  {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
7
7
 
8
8
  <mx-accordion>
9
- <details{{ attributes }}{% if id %} id="{{ id }}"{% endif %}>
9
+ <details{{ attributes }}{% if id is not empty %} id="{{ id }}"{% endif %}>
10
10
  <summary class="mx-accordion__toggle">
11
11
  {{ title }}
12
12
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down" aria-hidden="true"></span>
@@ -2,7 +2,7 @@
2
2
  {% if toggleAll %}
3
3
  <mx-accordion-group>
4
4
  {% endif %}
5
- {% if title or toggleAll %}
5
+ {% if title is not empty or toggleAll %}
6
6
  <div class="mx-accordion__title">
7
7
  {{ title }}
8
8
  {% if toggleAll %}
@@ -1,14 +1,6 @@
1
1
  import { Meta, StoryObj } from "@storybook/html"
2
2
  import Component from "./card.twig"
3
3
  import "./card.css"
4
- import "../Tag/tag.css"
5
- import "../LinkList/link-list.css"
6
- import Heading from "../../Atom/Heading/heading.twig"
7
- import Link from "../../Atom/Link/link.twig"
8
- import Image from "../../Atom/Image/image.twig"
9
- import Tags from "../Tag/tags.twig"
10
- import LinkList from "../LinkList/link-list.twig"
11
- import Icon from "../../Atom/Icon/icon.twig"
12
4
  import {
13
5
  Card as CardType,
14
6
  CardModifier,
@@ -18,6 +10,17 @@ import {
18
10
  } from "@pnx-mixtape/ids-shape"
19
11
  import { Icons } from "../../enums"
20
12
 
13
+ // Deps.
14
+ import Heading from "../../Atom/Heading/heading.twig"
15
+ import Link from "../../Atom/Link/link.twig"
16
+ import Image from "../../Atom/Image/image.twig"
17
+ import Tags from "../Tag/tags.twig"
18
+ import LinkList from "../LinkList/link-list.twig"
19
+ import Icon from "../../Atom/Icon/icon.twig"
20
+ // css
21
+ import "../Tag/tag.css"
22
+ import "../LinkList/link-list.css"
23
+
21
24
  export type MxCardType = Omit<CardType, "modifiers"> & {
22
25
  modifiers?: CardModifier[] | ListItemModifiers[]
23
26
  }
@@ -100,18 +103,27 @@ export const WithLinkList: Story = {
100
103
  link: null,
101
104
  linkList: LinkList({
102
105
  items: [
103
- {
106
+ Link({
104
107
  title: "Link one",
105
108
  href: "#",
106
- },
107
- {
109
+ iconEnd: Icon({
110
+ icon: Icons.CHEVRON_RIGHT,
111
+ }),
112
+ }),
113
+ Link({
108
114
  title: "Link two",
109
115
  href: "#",
110
- },
111
- {
116
+ iconEnd: Icon({
117
+ icon: Icons.CHEVRON_RIGHT,
118
+ }),
119
+ }),
120
+ Link({
112
121
  title: "Link three",
113
122
  href: "#",
114
- },
123
+ iconEnd: Icon({
124
+ icon: Icons.CHEVRON_RIGHT,
125
+ }),
126
+ }),
115
127
  ],
116
128
  }),
117
129
  },
@@ -200,24 +200,30 @@ exports[`Component/Card WithLinkList smoke-test 1`] = `
200
200
  </div>
201
201
  <ul class="mx-link-list">
202
202
  <li>
203
- <a href="#"
204
- class="mx-icon mx-icon--chevron-right"
205
- >
206
- Link one
203
+ <a href="#">
204
+ <span>
205
+ Link one
206
+ </span>
207
+ <span class="mx-icon mx-icon--chevron-right ">
208
+ </span>
207
209
  </a>
208
210
  </li>
209
211
  <li>
210
- <a href="#"
211
- class="mx-icon mx-icon--chevron-right"
212
- >
213
- Link two
212
+ <a href="#">
213
+ <span>
214
+ Link two
215
+ </span>
216
+ <span class="mx-icon mx-icon--chevron-right ">
217
+ </span>
214
218
  </a>
215
219
  </li>
216
220
  <li>
217
- <a href="#"
218
- class="mx-icon mx-icon--chevron-right"
219
- >
220
- Link three
221
+ <a href="#">
222
+ <span>
223
+ Link three
224
+ </span>
225
+ <span class="mx-icon mx-icon--chevron-right ">
226
+ </span>
221
227
  </a>
222
228
  </li>
223
229
  </ul>
@@ -12,30 +12,30 @@
12
12
  {% set classes = classes|merge([baseClass~"--"~modifier]) %}
13
13
  {% endif %}
14
14
  {% endfor %}
15
- {% if background %}
15
+ {% if background is not empty %}
16
16
  {% set classes = classes|merge([background]) %}
17
17
  {% endif %}
18
18
  {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
19
19
 
20
20
  <div class="mx-container">
21
21
  <article{{ attributes }}>
22
- {% if image %}
22
+ {% if image is not empty %}
23
23
  <figure class="mx-card__media">
24
24
  {{ image }}
25
25
  </figure>
26
26
  {% endif %}
27
- {% if icon %}
27
+ {% if icon is not empty %}
28
28
  <div class="mx-card__icon">
29
29
  {{ icon }}
30
30
  </div>
31
31
  {% endif %}
32
32
  <div class="mx-card__content mx-vertical-flow-flex">
33
- {% if date %}
33
+ {% if date is not empty %}
34
34
  <div class="mx-text--s">{{ date }}</div>
35
35
  {% endif %}
36
36
  {{ title }}
37
37
  {{ tags }}
38
- {% if content %}
38
+ {% if content is not empty %}
39
39
  <div class="mx-text--lede">{{ content }}</div>
40
40
  {% endif %}
41
41
  {{ linkList }}
@@ -11,25 +11,13 @@ exports[`Component/ContentBlock ContentBlock smoke-test 1`] = `
11
11
  </p>
12
12
  <ul class="mx-link-list">
13
13
  <li>
14
- <a href="#"
15
- class="mx-icon mx-icon--chevron-right"
16
- >
17
- Link one
18
- </a>
14
+ [object Object]
19
15
  </li>
20
16
  <li>
21
- <a href="#"
22
- class="mx-icon mx-icon--chevron-right"
23
- >
24
- Link two
25
- </a>
17
+ [object Object]
26
18
  </li>
27
19
  <li>
28
- <a href="#"
29
- class="mx-icon mx-icon--chevron-right"
30
- >
31
- Link three
32
- </a>
20
+ [object Object]
33
21
  </li>
34
22
  </ul>
35
23
  <a class="mx-link--more"
@@ -58,25 +46,13 @@ exports[`Component/ContentBlock WithIcon smoke-test 1`] = `
58
46
  </p>
59
47
  <ul class="mx-link-list">
60
48
  <li>
61
- <a href="#"
62
- class="mx-icon mx-icon--chevron-right"
63
- >
64
- Link one
65
- </a>
49
+ [object Object]
66
50
  </li>
67
51
  <li>
68
- <a href="#"
69
- class="mx-icon mx-icon--chevron-right"
70
- >
71
- Link two
72
- </a>
52
+ [object Object]
73
53
  </li>
74
54
  <li>
75
- <a href="#"
76
- class="mx-icon mx-icon--chevron-right"
77
- >
78
- Link three
79
- </a>
55
+ [object Object]
80
56
  </li>
81
57
  </ul>
82
58
  <a class="mx-link--more"
@@ -108,25 +84,13 @@ exports[`Component/ContentBlock WithImage smoke-test 1`] = `
108
84
  </p>
109
85
  <ul class="mx-link-list">
110
86
  <li>
111
- <a href="#"
112
- class="mx-icon mx-icon--chevron-right"
113
- >
114
- Link one
115
- </a>
87
+ [object Object]
116
88
  </li>
117
89
  <li>
118
- <a href="#"
119
- class="mx-icon mx-icon--chevron-right"
120
- >
121
- Link two
122
- </a>
90
+ [object Object]
123
91
  </li>
124
92
  <li>
125
- <a href="#"
126
- class="mx-icon mx-icon--chevron-right"
127
- >
128
- Link three
129
- </a>
93
+ [object Object]
130
94
  </li>
131
95
  </ul>
132
96
  <a class="mx-link--more"
@@ -2,12 +2,12 @@
2
2
  {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
3
3
 
4
4
  <article{{ attributes }}>
5
- {% if image %}
5
+ {% if image is not empty %}
6
6
  <figure class="mx-content-block__media">
7
7
  {{ image }}
8
8
  </figure>
9
9
  {% endif %}
10
- {% if icon %}
10
+ {% if icon is not empty %}
11
11
  <div class="mx-content-block__icon">
12
12
  {{ icon }}
13
13
  </div>
@@ -17,7 +17,7 @@
17
17
  popover
18
18
  >
19
19
  {% for item in items %}
20
- {% if item.href %}
20
+ {% if item.href is not empty %}
21
21
  <a href="{{ item.href }}">{{ item.label }}</a>
22
22
  {% else %}
23
23
  <button type="button" data-id="{{ item.id }}" aria-checked="false">{{ item.label }}</button>
@@ -2,9 +2,7 @@
2
2
 
3
3
  exports[`Component/GlobalAlert Critical smoke-test 1`] = `
4
4
  <div class="mx-global-alert mx-page mx-global-alert--critical">
5
- <div class="mx-global-alert__inner"
6
- data-container
7
- >
5
+ <div class="mx-global-alert__inner">
8
6
  <div class="mx-global-alert__content">
9
7
  <h2 class=" mx-heading--m">
10
8
  In page alert
@@ -7,7 +7,7 @@
7
7
  {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
8
8
 
9
9
  {% if dismissible %}
10
- <mx-closable-alert {{ attributes}}{% if id %} id="{{ id ~ type }}"{% endif %}>
10
+ <mx-closable-alert {{ attributes}}{% if id is not empty %} id="{{ id ~ type }}"{% endif %}>
11
11
  <div class="mx-global-alert__inner" data-container>
12
12
  <div class="mx-global-alert__content">
13
13
  {{ title }}
@@ -17,8 +17,8 @@
17
17
  </div>
18
18
  </mx-closable-alert>
19
19
  {% else %}
20
- <div {{ attributes}}{% if id %} id="{{ id ~ type }}"{% endif %}>
21
- <div class="mx-global-alert__inner" data-container>
20
+ <div {{ attributes}}{% if id is not empty %} id="{{ id ~ type }}"{% endif %}>
21
+ <div class="mx-global-alert__inner">
22
22
  <div class="mx-global-alert__content">
23
23
  {{ title }}
24
24
  {{ content }}
@@ -1,17 +1,22 @@
1
1
  import { Meta, StoryObj } from "@storybook/html"
2
2
  import { Page } from "../../../.storybook/decorators"
3
3
  import Component from "./hero-banner.twig"
4
- import Heading from "../../Atom/Heading/heading.twig"
5
- import Link from "../../Atom/Link/link.twig"
6
- import Image from "../../Atom/Image/image.twig"
7
- import LinkList from "../LinkList/link-list.twig"
8
4
  import "./hero-banner.css"
9
- import "../LinkList/link-list.css"
10
5
  import {
11
6
  HeroBannerModifier,
12
7
  HeadingTypes,
13
8
  HeroBanner as HeroBannerType,
14
9
  } from "@pnx-mixtape/ids-shape"
10
+ import { Icons } from "../../enums"
11
+
12
+ // Deps.
13
+ import Heading from "../../Atom/Heading/heading.twig"
14
+ import Link from "../../Atom/Link/link.twig"
15
+ import Image from "../../Atom/Image/image.twig"
16
+ import LinkList from "../LinkList/link-list.twig"
17
+ import Icon from "../../Atom/Icon/icon.twig"
18
+ // css
19
+ import "../LinkList/link-list.css"
15
20
 
16
21
  const meta: Meta<HeroBannerType> = {
17
22
  tags: ["autodocs", "ids-mvp"],
@@ -62,18 +67,27 @@ export const WithLinkList: Story = {
62
67
  link: null,
63
68
  linkList: LinkList({
64
69
  items: [
65
- {
70
+ Link({
66
71
  title: "Link one",
67
72
  href: "#",
68
- },
69
- {
73
+ iconEnd: Icon({
74
+ icon: Icons.CHEVRON_RIGHT,
75
+ }),
76
+ }),
77
+ Link({
70
78
  title: "Link two",
71
79
  href: "#",
72
- },
73
- {
80
+ iconEnd: Icon({
81
+ icon: Icons.CHEVRON_RIGHT,
82
+ }),
83
+ }),
84
+ Link({
74
85
  title: "Link three",
75
86
  href: "#",
76
- },
87
+ iconEnd: Icon({
88
+ icon: Icons.CHEVRON_RIGHT,
89
+ }),
90
+ }),
77
91
  ],
78
92
  }),
79
93
  },
@@ -46,24 +46,30 @@ exports[`Component/HeroBanner WithLinkList smoke-test 1`] = `
46
46
  <div class="mx-hero-banner__aside">
47
47
  <ul class="mx-link-list">
48
48
  <li>
49
- <a href="#"
50
- class="mx-icon mx-icon--chevron-right"
51
- >
52
- Link one
49
+ <a href="#">
50
+ <span>
51
+ Link one
52
+ </span>
53
+ <span class="mx-icon mx-icon--chevron-right ">
54
+ </span>
53
55
  </a>
54
56
  </li>
55
57
  <li>
56
- <a href="#"
57
- class="mx-icon mx-icon--chevron-right"
58
- >
59
- Link two
58
+ <a href="#">
59
+ <span>
60
+ Link two
61
+ </span>
62
+ <span class="mx-icon mx-icon--chevron-right ">
63
+ </span>
60
64
  </a>
61
65
  </li>
62
66
  <li>
63
- <a href="#"
64
- class="mx-icon mx-icon--chevron-right"
65
- >
66
- Link three
67
+ <a href="#">
68
+ <span>
69
+ Link three
70
+ </span>
71
+ <span class="mx-icon mx-icon--chevron-right ">
72
+ </span>
67
73
  </a>
68
74
  </li>
69
75
  </ul>
@@ -23,17 +23,17 @@
23
23
  <div class="mx-hero-banner__inner">
24
24
  <div class="mx-hero-banner__content mx-vertical-flow mx-section--xl">
25
25
  {{ title }}
26
- {% if subtitle %}
26
+ {% if subtitle is not empty %}
27
27
  <p class="mx-text--lede">{{ subtitle }}</p>
28
28
  {% endif %}
29
29
  {{ content }}
30
30
  {{ link }}
31
31
  </div>
32
- {% if linkList %}
32
+ {% if linkList is not empty %}
33
33
  <div class="mx-hero-banner__aside">
34
34
  {{ linkList }}
35
35
  </div>
36
- {% elseif image %}
36
+ {% elseif image is not empty %}
37
37
  <div class="mx-hero-banner__aside mx-hero-banner__aside-image">
38
38
  {{ image }}
39
39
  </div>
@@ -2,23 +2,37 @@ import { Meta, StoryObj } from "@storybook/html"
2
2
  import Component from "./link-list.twig"
3
3
  import "./link-list.css"
4
4
 
5
+ // Deps.
6
+ import Link from "../../Atom/Link/link.twig"
7
+ import Icon from "../../Atom/Icon/icon.twig"
8
+ import { Icons } from "../../enums"
9
+
5
10
  const meta: Meta<typeof Component> = {
6
11
  tags: ["autodocs", "ids-mvp"],
7
12
  component: Component,
8
13
  args: {
9
14
  items: [
10
- {
15
+ Link({
11
16
  title: "Music",
12
17
  href: "#",
13
- },
14
- {
18
+ iconEnd: Icon({
19
+ icon: Icons.CHEVRON_RIGHT,
20
+ }),
21
+ }),
22
+ Link({
15
23
  title: "Performances",
16
24
  href: "#",
17
- },
18
- {
25
+ iconEnd: Icon({
26
+ icon: Icons.CHEVRON_RIGHT,
27
+ }),
28
+ }),
29
+ Link({
19
30
  title: "Get involved",
20
31
  href: "#",
21
- },
32
+ iconEnd: Icon({
33
+ icon: Icons.CHEVRON_RIGHT,
34
+ }),
35
+ }),
22
36
  ],
23
37
  },
24
38
  }
@@ -3,24 +3,30 @@
3
3
  exports[`Component/LinkList LinkList smoke-test 1`] = `
4
4
  <ul class="mx-link-list">
5
5
  <li>
6
- <a href="#"
7
- class="mx-icon mx-icon--chevron-right"
8
- >
9
- Music
6
+ <a href="#">
7
+ <span>
8
+ Music
9
+ </span>
10
+ <span class="mx-icon mx-icon--chevron-right ">
11
+ </span>
10
12
  </a>
11
13
  </li>
12
14
  <li>
13
- <a href="#"
14
- class="mx-icon mx-icon--chevron-right"
15
- >
16
- Performances
15
+ <a href="#">
16
+ <span>
17
+ Performances
18
+ </span>
19
+ <span class="mx-icon mx-icon--chevron-right ">
20
+ </span>
17
21
  </a>
18
22
  </li>
19
23
  <li>
20
- <a href="#"
21
- class="mx-icon mx-icon--chevron-right"
22
- >
23
- Get involved
24
+ <a href="#">
25
+ <span>
26
+ Get involved
27
+ </span>
28
+ <span class="mx-icon mx-icon--chevron-right ">
29
+ </span>
24
30
  </a>
25
31
  </li>
26
32
  </ul>
@@ -7,16 +7,6 @@
7
7
  list-style-type: none;
8
8
  padding-inline-start: 0;
9
9
 
10
- & a {
11
- display: block;
12
- text-decoration-line: none;
13
- color: inherit;
14
-
15
- &:hover {
16
- text-decoration-line: underline;
17
- }
18
- }
19
-
20
10
  & li {
21
11
  min-block-size: var(--min-height, var(--spacing-xl));
22
12
  border-block-end: var(--line-width, 1px) solid
@@ -27,41 +17,23 @@
27
17
  }
28
18
  }
29
19
 
30
- & .mx-icon {
20
+ & a {
31
21
  position: relative;
32
22
  display: flex;
33
23
  align-items: center;
34
- padding-block: var(--spacing-xxxs);
24
+ padding-block: var(--vertical-padding, var(--spacing-xxxs));
35
25
  inline-size: 100%;
26
+ justify-content: var(--justify, space-between);
36
27
  gap: var(--spacing-s);
28
+ text-decoration-line: none;
29
+ color: inherit;
37
30
 
38
- &::before {
39
- flex: 0 0 auto;
40
- mask-position: left center;
41
- }
42
- }
43
-
44
- &:where(:not(.mx-link-list--reverse)) .mx-icon {
45
- justify-content: space-between;
46
-
47
- &::before {
48
- mask-position: right center;
49
- order: 2;
31
+ &:hover {
32
+ text-decoration-line: underline;
50
33
  }
51
34
  }
52
35
  }
53
36
 
54
- [dir="rtl"] .mx-link-list,
55
- .translated-rtl .mx-link-list {
56
- & .mx-icon::before {
57
- mask-position: left center;
58
- }
59
-
60
- &.mx-link-list--reverse .mx-icon::before {
61
- mask-position: right center;
62
- }
63
- }
64
-
65
37
  * + .mx-link-list {
66
38
  margin-block-start: var(--spacing-m);
67
39
  }