@ilo-org/twig 0.14.1 → 0.14.3
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/.turbo/turbo-build:lib.log +2 -2
- package/CHANGELOG.md +26 -0
- package/package.json +5 -5
- package/src/patterns/components/button/button.twig +1 -1
- package/src/patterns/components/button/button.wingsuit.yml +6 -0
- package/src/patterns/components/card_detail/card_detail.twig +1 -1
- package/src/patterns/components/card_factlist/card_factlist.twig +1 -1
- package/src/patterns/components/card_feature/card_feature.twig +1 -1
- package/src/patterns/components/card_multilink/card_multilink.twig +1 -1
- package/src/patterns/components/card_promo/card_promo.twig +1 -1
- package/src/patterns/components/card_stat/card_stat.twig +1 -1
- package/src/patterns/components/card_text/card_text.twig +1 -1
- package/src/patterns/components/cardgroup/cardgroup.twig +1 -1
- package/src/patterns/components/cardgroup/cardgroup.wingsuit.yml +8 -0
- package/src/patterns/components/dropdown/dropdown.twig +9 -7
- package/src/patterns/components/form/formcontrol.twig +3 -1
- package/src/patterns/components/hero/hero.twig +5 -1
- package/src/patterns/components/localnav/localnav.twig +7 -4
- package/src/patterns/components/modal/modal.twig +1 -1
- package/src/patterns/components/modal/modal.wingsuit.yml +6 -0
- package/src/patterns/components/navigation/navigation.twig +35 -29
- package/src/patterns/components/tabs/tabs.twig +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @ilo-org/twig@0.14.
|
|
2
|
+
> @ilo-org/twig@0.14.3 build:lib /home/runner/work/designsystem/designsystem/packages/twig
|
|
3
3
|
> node importprefix.js && node importsvgs.js && pnpm output
|
|
4
4
|
|
|
5
5
|
theme prefix added
|
|
6
6
|
|
|
7
|
-
> @ilo-org/twig@0.14.
|
|
7
|
+
> @ilo-org/twig@0.14.3 output /home/runner/work/designsystem/designsystem/packages/twig
|
|
8
8
|
> node outputtwigs.js
|
|
9
9
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @ilo-org/twig
|
|
2
2
|
|
|
3
|
+
## 0.14.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ba3fdf8fc: Update how the breakpoints are set on the Hero twig component.
|
|
8
|
+
- fb6b65ec3: Fix alignment value to be used from cardgroup and passed on to the card
|
|
9
|
+
- e077aa740: Add a condition to check the breakpoint value.
|
|
10
|
+
- 67ac66a79: Refactor option label to be a child component instead of an attribute to improve screen reader experience
|
|
11
|
+
- e34e17292: Add optional name paramater that will pass a string to the button element's underlying name attribute
|
|
12
|
+
- d74d0161f: Refactor card heading from h5 to h3 to ensure headings are in sequential order to improve accessibility
|
|
13
|
+
- d0e3e8c87: Add optional string modalLabel parameter to be used as aria-label attribute in modal
|
|
14
|
+
- 261413766: Add block to wrap label, as required in Drupal development.
|
|
15
|
+
- 1ddab579a: Refactor tab role to be in the proper child element in tabs so that they peform their intended accessibility functions
|
|
16
|
+
- Updated dependencies [16dea2974]
|
|
17
|
+
- Updated dependencies [0d0341a3c]
|
|
18
|
+
- @ilo-org/styles@0.13.2
|
|
19
|
+
|
|
20
|
+
## 0.14.2
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- d67dc414b: Don't show language selector in Nav if no links are passed to the Language Context Menu
|
|
25
|
+
- Updated dependencies [08a2141cc]
|
|
26
|
+
- Updated dependencies [dea2d0a07]
|
|
27
|
+
- @ilo-org/styles@0.13.1
|
|
28
|
+
|
|
3
29
|
## 0.14.1
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ilo-org/twig",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.3",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Twig components for the ILO's Design System",
|
|
6
6
|
"main": "",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@popperjs/core": "^2.11.8",
|
|
25
25
|
"video.js": "^7.21.2",
|
|
26
26
|
"@ilo-org/brand-assets": "0.2.0",
|
|
27
|
-
"@ilo-org/icons": "0.2.1",
|
|
28
27
|
"@ilo-org/fonts": "0.1.2",
|
|
29
|
-
"@ilo-org/
|
|
28
|
+
"@ilo-org/icons": "0.2.1",
|
|
29
|
+
"@ilo-org/styles": "0.13.2",
|
|
30
30
|
"@ilo-org/themes": "0.7.0",
|
|
31
31
|
"@ilo-org/utils": "0.0.11"
|
|
32
32
|
},
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"webpack": "^4.46.0",
|
|
78
78
|
"yaml-loader": "0.6.0",
|
|
79
79
|
"yo": "^3.1.1",
|
|
80
|
-
"@ilo-org/
|
|
81
|
-
"@ilo-org/
|
|
80
|
+
"@ilo-org/eslint-config": "0.1.0",
|
|
81
|
+
"@ilo-org/prettier-config": "0.0.2"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|
|
84
84
|
"storybook": "node importprefix.js && node importsvgs.js && start-storybook --config-dir apps/storybook",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{% endif %}
|
|
11
11
|
</a>
|
|
12
12
|
{% else %}
|
|
13
|
-
<button class="{{prefix}}--button ilo--button--{{size}} {{prefix}}--button--{{type}}{% if icon %} icon icon__position--{{iconPosition}}{% endif %}{% if icononly %} icon--only{% endif %}{% if className %} {{className}}{% endif %}" {% if kind %} type="{{kind}}" {% endif %} {% if opensmodal %} aria-haspopup="dialog" {% endif %} {% if disabled is defined and disabled == 'true' %} disabled {% endif %}>
|
|
13
|
+
<button class="{{prefix}}--button ilo--button--{{size}} {{prefix}}--button--{{type}}{% if icon %} icon icon__position--{{iconPosition}}{% endif %}{% if icononly %} icon--only{% endif %}{% if className %} {{className}}{% endif %}" {% if kind %} type="{{kind}}" {% endif %} {% if opensmodal %} aria-haspopup="dialog" {% endif %} {% if disabled is defined and disabled == 'true' %} disabled {% endif %} {% if name %} name="{{name}}" {% endif %}>
|
|
14
14
|
|
|
15
15
|
<span class="button__label">{{label}}</span>
|
|
16
16
|
{% if icon %}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<p class="{{prefix}}--card--eyebrow">{{eyebrow}}</p>
|
|
22
22
|
{% endif %}
|
|
23
23
|
{% if title %}
|
|
24
|
-
<
|
|
24
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
25
25
|
{% endif %}
|
|
26
26
|
{% if intro %}
|
|
27
27
|
<p class="{{prefix}}--card--intro">{{intro}}</p>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<div class="{{prefix}}--card--wrap">
|
|
6
6
|
<div class="{{prefix}}--card--content">
|
|
7
7
|
{% if title %}
|
|
8
|
-
<
|
|
8
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
9
9
|
{% endif %}
|
|
10
10
|
{% if list %}
|
|
11
11
|
{% include "@components/list/list.twig" with {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<p class="{{prefix}}--card--eyebrow">{{eyebrow}}</p>
|
|
22
22
|
{% endif %}
|
|
23
23
|
{% if title %}
|
|
24
|
-
<
|
|
24
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
25
25
|
{% endif %}
|
|
26
26
|
{% if date %}
|
|
27
27
|
<time class="{{prefix}}--card--date" datetime="{{date.unix}}">{{date.human}}</time>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<p class="{{prefix}}--card--eyebrow">{{eyebrow}}</p>
|
|
22
22
|
{% endif %}
|
|
23
23
|
{% if title %}
|
|
24
|
-
<
|
|
24
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
25
25
|
{% endif %}
|
|
26
26
|
{% if image %}
|
|
27
27
|
<div class="{{prefix}}--card--image--wrapper">
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<p class="{{prefix}}--card--eyebrow">{{eyebrow}}</p>
|
|
14
14
|
{% endif %}
|
|
15
15
|
{% if title %}
|
|
16
|
-
<
|
|
16
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
17
17
|
{% endif %}
|
|
18
18
|
{% if intro %}
|
|
19
19
|
<p class="{{prefix}}--card--intro">{{intro}}</p>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<div class="{{prefix}}--card--wrap">
|
|
6
6
|
<div class="{{prefix}}--card--content">
|
|
7
7
|
{% if title %}
|
|
8
|
-
<
|
|
8
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
9
9
|
{% endif %}
|
|
10
10
|
{% if intro %}
|
|
11
11
|
<p class="{{prefix}}--card--intro">{{intro}}</p>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<p class="{{prefix}}--card--eyebrow">{{eyebrow}}</p>
|
|
14
14
|
{% endif %}
|
|
15
15
|
{% if title %}
|
|
16
|
-
<
|
|
16
|
+
<h3 class="{{prefix}}--card--title">{{title}}</h3>
|
|
17
17
|
{% endif %}
|
|
18
18
|
{% if date %}
|
|
19
19
|
<time class="{{prefix}}--card--date" datetime="{{date.unix}}">{{date.human}}</time>
|
|
@@ -36,6 +36,14 @@ cardgroup:
|
|
|
36
36
|
narrow: narrow
|
|
37
37
|
wide: wide
|
|
38
38
|
fluid: fluid
|
|
39
|
+
alignment:
|
|
40
|
+
type: select
|
|
41
|
+
label: Alignment
|
|
42
|
+
description: Positions the image to the right or to the left of the content when the card is displayed in a `wide` or `fluid` size. Has no effect if the card is displayed in a `standard` or `narrow` size. Only used by `Multilink Card`.
|
|
43
|
+
preview: "left"
|
|
44
|
+
options:
|
|
45
|
+
left: Left
|
|
46
|
+
right: Right
|
|
39
47
|
theme:
|
|
40
48
|
type: select
|
|
41
49
|
label: Theme
|
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
{% endif %}
|
|
11
11
|
|
|
12
12
|
{% block formfield %}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
<div class="{{ baseClass }}--wrapper" {% if style %} style="{{ style }}" {% endif %}>
|
|
14
|
+
<select id="{{ id|default(name) }}" autocomplete="{{ autocomplete|default('off') }}" name="{{ name }}" {% if required %} required {% endif %} {% if onBlur %} onblur="{{ onBlur }}" {% endif %} {% if disabled %} disabled {% endif %} class="{{ dropdownClasses|join(' ') }}" value="{{ currentvalue|default(value) }}" {% if form %} form="{{ form }}" {% endif %} {% if multiple %} multiple {% endif %} {% if selectSize %} size="{{ selectSize }}" {% endif %} {% if ariaDescribedBy %} aria-describedby="{{ ariaDescribedBy }}" {% endif %}>
|
|
15
|
+
{% for option in options %}
|
|
16
|
+
<option {% if option.disabled %} disabled {% endif %} value="{{ option.value }}" {% if defaultOption and defaultOption == option.value %} selected {% endif %}>
|
|
17
|
+
{{ option.label }}
|
|
18
|
+
</option>
|
|
19
|
+
{% endfor %}
|
|
20
|
+
</select>
|
|
21
|
+
</div>
|
|
20
22
|
{% endblock %}
|
|
@@ -62,7 +62,9 @@
|
|
|
62
62
|
<div class="{{ formControlClass|join(' ') }}" {% if style %} style="{{ style }}" {% endif %}>
|
|
63
63
|
{% if label %}
|
|
64
64
|
<span class="{{ labelClass|join(' ') }}">
|
|
65
|
-
|
|
65
|
+
{% block label %}
|
|
66
|
+
<label for="{{ id }}">{{ label }}</label>
|
|
67
|
+
{% endblock %}
|
|
66
68
|
{% if tooltip %}
|
|
67
69
|
{% include '@components/tooltip/tooltip.twig' with {
|
|
68
70
|
"icon": true,
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
<picture class="hero--image">
|
|
11
11
|
{% for img in image.url|reverse %}
|
|
12
12
|
{% if loop.last == false %}
|
|
13
|
-
|
|
13
|
+
{% if img.breakpoint matches '/^\\d+$/' %}
|
|
14
|
+
<source srcset="{{img.src}}" media="(min-width: {{img.breakpoint}}px)">
|
|
15
|
+
{% else %}
|
|
16
|
+
<source srcset="{{img.src}}" media="{{img.breakpoint}}">
|
|
17
|
+
{% endif %}
|
|
14
18
|
{% endif %}
|
|
15
19
|
{% endfor %}
|
|
16
20
|
<img class="{{prefix}}--card--image" src="{{image.url|reverse|last.src}}" alt="{{image.alt}}" {% if image.loading %} loading="{{ image.loading }}" {% endif %}>
|
|
@@ -27,14 +27,16 @@
|
|
|
27
27
|
<a href="{{mainlink.url}}" class="{{prefix}}--language-switcher--link">{{mainlink.label}}</a>
|
|
28
28
|
</span>
|
|
29
29
|
{% endif %}
|
|
30
|
-
|
|
30
|
+
{% if languagecontextmenu.links is not empty %}
|
|
31
|
+
<button class="{{prefix}}--language-switcher--button" type="button">
|
|
31
32
|
{{languagelabel}}
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
</button>
|
|
34
|
+
{% include '@components/contextmenu/contextmenu.twig' with {
|
|
34
35
|
links: languagecontextmenu.links,
|
|
35
36
|
prefix: prefix
|
|
36
37
|
}
|
|
37
38
|
%}
|
|
39
|
+
{% endif %}
|
|
38
40
|
</div> <!-- /.{{prefix}}--language-switcher--wrap -->
|
|
39
41
|
</div> <!-- /.{{prefix}}--language-switcher -->
|
|
40
42
|
<button class="{{prefix}}--header--menu">Menu</button>
|
|
@@ -49,7 +51,7 @@
|
|
|
49
51
|
</a>
|
|
50
52
|
<button class="{{prefix}}--header--menu--close">{{menucloselabel}}</button>
|
|
51
53
|
</div> <!-- /.{{prefix}}--mobile--logo -->
|
|
52
|
-
|
|
54
|
+
{% if languagecontextmenu.links is not empty %}
|
|
53
55
|
<div class="{{prefix}}--mobile--nav--language--switcher">
|
|
54
56
|
<button class="{{prefix}}--mobile--nav--language--switcher--button" type="button">{{languagelabel}}</button>
|
|
55
57
|
</div> <!-- /.{{prefix}}--mobile--nav--language--switcher -->
|
|
@@ -69,6 +71,7 @@
|
|
|
69
71
|
</ul>
|
|
70
72
|
</div>
|
|
71
73
|
</div>
|
|
74
|
+
{% endif %}
|
|
72
75
|
</div> <!-- /.{{prefix}}--mobile--nav -->
|
|
73
76
|
<nav class="{{prefix}}--nav" aria-labelledby="primary-navigation">
|
|
74
77
|
<h2 class="{{prefix}}--nav--label" id="primary-navigation">{{primarynav.navlabel}}</h2>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
{% if component != 'modal' %}
|
|
8
8
|
<div class="{{prefix}}--modal" data-loadcomponent="Modal" data-prefix="{{prefix}}">
|
|
9
9
|
{% include '@components/button/button.twig' with openbutton %}
|
|
10
|
-
<div class="{{prefix}}--modal--wrapper" aria-modal="true" role="alertdialog">
|
|
10
|
+
<div class="{{prefix}}--modal--wrapper" {% if modalLabel %} aria-label="{{modalLabel}}" {% endif %} aria-modal="true" role="alertdialog">
|
|
11
11
|
<div class="{{prefix}}--modal--background" role="presentation"></div>
|
|
12
12
|
<div class="{{prefix}}--modal--contents">
|
|
13
13
|
{% block modal_content %}
|
|
@@ -52,4 +52,10 @@ modal:
|
|
|
52
52
|
className: "modal--open"
|
|
53
53
|
opensmodal: true
|
|
54
54
|
required: true
|
|
55
|
+
modalLabel:
|
|
56
|
+
type: string
|
|
57
|
+
label: Modal Label
|
|
58
|
+
description: A modal label added to aria-label attribute to improve accessibility
|
|
59
|
+
preview: "modal"
|
|
60
|
+
required: false
|
|
55
61
|
visibility: storybook
|
|
@@ -5,20 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
<header class="{{prefix}}--header" data-loadcomponent="Navigation" data-prefix="{{prefix}}">
|
|
7
7
|
<div class="{{prefix}}--header--utility-bar">
|
|
8
|
-
|
|
9
|
-
<div class="{{prefix}}--language-switcher
|
|
10
|
-
<
|
|
11
|
-
{{
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
{% if languagecontextmenu.links is not empty %}
|
|
9
|
+
<div class="{{prefix}}--language-switcher">
|
|
10
|
+
<div class="{{prefix}}--language-switcher--wrap">
|
|
11
|
+
<button class="{{prefix}}--language-switcher--button" type="button">
|
|
12
|
+
{{languagelabel}}
|
|
13
|
+
</button>
|
|
14
|
+
{% include '@components/contextmenu/contextmenu.twig' with {
|
|
14
15
|
links: languagecontextmenu.links,
|
|
15
16
|
prefix: prefix
|
|
16
17
|
}
|
|
17
18
|
%}
|
|
19
|
+
</div>
|
|
20
|
+
<!-- /.{{prefix}}--language-switcher--wrap -->
|
|
18
21
|
</div>
|
|
19
|
-
<!-- /.{{prefix}}--language-switcher
|
|
20
|
-
|
|
21
|
-
<!-- /.{{prefix}}--language-switcher -->
|
|
22
|
+
<!-- /.{{prefix}}--language-switcher -->
|
|
23
|
+
{% endif %}
|
|
22
24
|
</div>
|
|
23
25
|
<!-- /.{{prefix}}--header--utility-bar -->
|
|
24
26
|
<div class="{{prefix}}--header--logo-bar">
|
|
@@ -67,29 +69,33 @@
|
|
|
67
69
|
{% endblock %}
|
|
68
70
|
</div>
|
|
69
71
|
<!-- /.{{prefix}}--mobile--search -->
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
<div class="{{prefix}}--
|
|
77
|
-
<div class="{{prefix}}--
|
|
78
|
-
<
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
{% if languagecontextmenu.links is not empty %}
|
|
73
|
+
<div class="{{prefix}}--mobile--nav--language--switcher">
|
|
74
|
+
<button class="{{prefix}}--mobile--nav--language--switcher--button" type="button">{{languagelabel}}</button>
|
|
75
|
+
</div>
|
|
76
|
+
{% endif %}
|
|
77
|
+
<!-- /.{{prefix}}--mobile--nav--language--switcher -->
|
|
78
|
+
<div class="{{prefix}}--mobile--nav--language--select">
|
|
79
|
+
<div class="{{prefix}}--header--inner {{ prefix }}--container">
|
|
80
|
+
<div class="{{prefix}}--mobile--subnav--menu">
|
|
81
|
+
<button class="{{prefix}}--mobile--subnav--back" type="button">{{subnav.mobilebacklabel}}</button>
|
|
82
|
+
<button class="{{prefix}}--header--menu--close">{{subnav.mobilecloselabel}}</button>
|
|
83
|
+
<h6 class="{{prefix}}--mobile--subnav--label">{{languagelabel}}</h6>
|
|
84
|
+
</div>
|
|
85
|
+
<!-- /{{prefix}}--mobile--subnav--menu -->
|
|
86
|
+
<ul class="{{prefix}}--nav--set">
|
|
87
|
+
{% for item in languagecontextmenu.links %}
|
|
88
|
+
<li class="{{prefix}}--nav--items">
|
|
89
|
+
<a href="{{item.url}}" class="{{prefix}}--nav--link {{prefix}}--nav--language">
|
|
90
|
+
{{item.label}}
|
|
91
|
+
</a>
|
|
92
|
+
</li>
|
|
93
|
+
{% endfor %}
|
|
94
|
+
</ul>
|
|
81
95
|
</div>
|
|
82
|
-
<!-- /{{prefix}}--mobile--subnav--menu -->
|
|
83
|
-
<ul class="{{prefix}}--nav--set">
|
|
84
|
-
{% for item in languagecontextmenu.links %}
|
|
85
|
-
<li class="{{prefix}}--nav--items">
|
|
86
|
-
<a href="{{item.url}}" class="{{prefix}}--nav--link {{prefix}}--nav--language">{{item.label}}</a>
|
|
87
|
-
</li>
|
|
88
|
-
{% endfor %}
|
|
89
|
-
</ul>
|
|
90
96
|
</div>
|
|
91
97
|
</div>
|
|
92
|
-
|
|
98
|
+
|
|
93
99
|
<!-- /.{{prefix}}--mobile--nav -->
|
|
94
100
|
<nav class="{{prefix}}--nav" aria-labelledby="primary-navigation">
|
|
95
101
|
<h2 class="{{prefix}}--nav--label" id="primary-navigation">{{primarynav.navlabel}}</h2>
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
<div class="{{prefix}}--tabs" data-prefix="{{prefix}}" id="tabs--{{uid}}" data-loadcomponent="Tabs">
|
|
10
10
|
<ul class="{{prefix}}--tabs--selection" aria-controls="tabs--{{uid}}" role="tablist" style="--tabscount: {{items|length}};">
|
|
11
11
|
{% for item in items %}
|
|
12
|
-
<li class="{{prefix}}--tabs--selection--item">
|
|
13
|
-
<a href="#tab--{{tabids[loop.index - 1]}}" class="{{prefix}}--tabs--selection--button{% if item.icon is defined %} icon{% endif %}"
|
|
12
|
+
<li class="{{prefix}}--tabs--selection--item" role="tab">
|
|
13
|
+
<a href="#tab--{{tabids[loop.index - 1]}}" class="{{prefix}}--tabs--selection--button{% if item.icon is defined %} icon{% endif %}" aria-controls="tab--{{tabids[loop.index - 1]}}" tabindex="0" aria-selected="{% if loop.index == 1 %}true{% else %}false{% endif %}" title="{{item.label}}">
|
|
14
14
|
<span class="{{prefix}}--tabs--selection--label">{{item.label}}</span>
|
|
15
15
|
{% if item.icon is defined %}
|
|
16
16
|
{% include '@components/icon/icon.twig' with {icon: item.icon} %}
|